Python图像处理一。图像处理基础知识及OpenCV入门函
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大
少走了弯路,也就错过了风景,无论如何,感谢经历
更多关于Android安全的知识,可前往:https:blog。csdn。netananasorangeycategory11955914。html
本篇文章转载自公众号〔娜璋AI安全之家〕
该系列文章是讲解PythonOpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵
该系列在github所有源代码:https:github。comeastmountyxzImageProcessingPython
本篇文章作为第一篇,将讲解图像处理基础知识和OpenCV入门函数,知识点如下:一。图像基础知识二。OpenCV读写图像三。OpenCV像素处理御学Python近八年,认识了很多大佬和朋友,感恩。由于在外求学且需要养娃,故在CSDN设置成了最低价收费专栏,觉得不错的可以购买抬爱;但作者的本意是帮助更多初学者入门,因此在github开源了所有代码,也在公众号同步更新。深知自己很菜,得拼命努力前行,编程也没有什么捷径,干就对了。希望未来能更透彻学习和撰写文章,同时非常感谢参考文献中的大佬们的文章和分享,共勉。
https:blog。csdn。neteastmount一。图像基础知识
数字图像处理(DigitalImageProcessing)又称为计算机图像处理(ComputerImageProcessing),旨在将图像信号转换成数字信号并利用计算机对其进行处理的过程。其运用领域如下图所示,涉及通信、生物医学、物理化学、经济等。
常见的数字图像处理方法包括:
v算术处理(ArithmeticProcessing)
v几何处理(GeometricalProcessing)
v图像增强(ImageEnhancement)
v图像识别(ImageRecognition)
v图像分类(ImageClassification)
v图像复原(ImageRestoration)
v图像重建(ImageReconstruction)
v图像编码(ImageEncoding)
v图像理解(ImageUnderstanding)
图像都是由像素(pixel)构成的,即图像中的小方格,这些小方格都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子。像素是图像中的最小单位,每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。
图像通常分为二值图像、灰度图像和彩色图像,下图展示了图像处理经典Lena图的各种图像。
1。二值图像
二值图像中任何一个点非黑即白,要么为白色(像素为255),要么为黑色(像素为0)。将灰度图像转换为二值图像的过程,常通过依次遍历判断实现,如果像素127则设置为255,否则设置为0。
如图所示,一幅二值图像对应的矩阵。
2。灰度图像
灰度图像除了黑和白,还有灰色,它把灰度划分为256个不同的颜色,图像看着也更为清晰。将彩色图像转换为灰度图是图像处理的最基本预处理操作,通常包括下面几种方法:浮点算法:GrayR0。3G0。59B0。11整数方法:Gray(R30G59B11)100移位方法:Gray(R28G151B77)8平均值法:Gray(RGB)3仅取绿色:GrayG加权平均值算法:根据光亮度特性,公式RGBR0。299G0。587B0。144
通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。改变象素矩阵的RGB值,来达到彩色图转变为灰度图。
将彩色图像转换为灰度图是图像处理的最基本预处理操作。如下图所示:
3。彩色图像
彩色图像是RGB图像,RGB表示红、绿、蓝三原色,计算机里所有颜色都是三原色不同比例组成的,即三色通道。RGB(Red红色,Green绿色,Blue蓝色),是根据人眼识别的颜色而定义的空间,可用于表示大部分颜色,也是图像处理中最基本、最常用、面向硬件的颜色空间,是一种光混合的体系。
彩色图像是RGB图像,RGB表示红、绿、蓝三原色,计算机里所有颜色都是三原色不同比例组成的,即三色通道。
在RGB模型的立方体中,原点对应的颜色为黑色,它的三个分量值都为0;距离原点最远的顶点对应的颜色为白色,三个分量值都为1;从黑色到白色的灰度值分布在这两个点的连线上,该虚线称为灰度线;立方体的其余各点对应不同的颜色,即三原色红、绿、蓝及其混合色黄、品红、青色。下图表示彩色图像对应的RGB三原色矩阵图。
二。OpenCV读写图像
OpenCV(OpenSourceComputerVision)直译为开源计算机视觉库,它是一个开放源代码的图像及视频分析库,是进行图像处理的一款必备工具。自1999年问世以来,它已经被图像处理和计算机视觉领域的学者和开发人员视为首选工具。OpenCV可以运行在Linux、Windows、Android和Mac操作系统上。它是一个由CC语言编写而成的轻量级并且高效的库,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。其官方地址为:https:opencv。org
下图是OpenCV的Logo图,其设计目标是执行速度更快,更加关注实时应用。采用优化的CC代码编写而成,能够充分利用多核处理器的优势,构建一个简单易用的计算机视觉框架。OpenCV被广泛应用于产品检测、医学成像、立体视觉、图像识别、图像增强、图像恢复等领域。本书主要通过Python语言结合OpenCV库实现图像处理相关的算法及案例,并强化读者的印象。
本文主要使用Python和OpenCV进行讲解,首先调用pipinstallopencvpython安装OpenCV库,如下图所示:
1。读入图像
OpenCV读图像主要调用下面函数实现:
imgcv2。imread(文件名,〔,参数〕)
1)cv2。IMREADUNCHANGED(图像不可变)
2)cv2。IMREADGRAYSCALE(灰度图像)
3)cv2。IMREADCOLOR(读入彩色图像)
4)cv2。COLORBGR2RGB(图像通道BGR转成RGB)
2。显示图像
显示图像调用函数如下:
cv2。imshow(窗口名,图像名)
3。窗口等待
调用函数如下:
cv2。waitKey(delay)
键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入,返回值为ASCII值。如果其参数为0,则表示无限期的等待键盘输入;参数0表示等待delay毫秒;参数0表示等待键盘单击。
4。删除所有窗口
调用函数如下:
cv2。destroyAllWindows()删除所有窗口
cv2。destroyWindows()删除指定的窗口
5。写入图片
调用函数如下:
retvalcv2。imwrite(文件地址,文件名)
下面代码是读入图片并显示保存。coding:utf8importcv2读取图片imgcv2。imread(yxz。png)显示图像cv2。imshow(Demo,img)等待显示cv2。waitKey(0)cv2。destroyAllWindows()写入图像cv2。imwrite(testyxz。jpg,img)
输出结果如下图所示,并且在文件夹下保存了一张名为testyxz。jpg的图像。
如果代码中没有watiKey(0)函数,则运行结果如下图所示:
同时可以对代码进行升级,如下所示,点击ESC键退出。无限期等待输入kcv2。waitKey(0)如果输入ESC退出ifk27:cv2。destroyAllWindows()三。OpenCV像素处理
1。读取像素
灰度图像直接返回灰度值,彩色图像则返回B、G、R三个分量。注意OpenCV读取图像是BGR存储显示,需要转换为RGB再进行图像处理。灰度图像:返回值图像(位置参数)
eg:testimg〔88,42〕
彩色图像:返回值图像〔位置元素,012〕获取BGR三个通道像素
eg:blueimg〔88,142,0〕
greenimg〔88,142,1〕
redimg〔88,142,2〕
2。修改图像
修改图像如果是灰度图像则直接赋值新像素即可,彩色图像依次给三个值赋值即可。
灰度图像:
img〔88,142〕255
彩色图像:
img〔88,142,0〕255
img〔88,142,1〕255
img〔88,142,2〕255
彩色图像:方法二
img〔88,142〕〔255,255,255〕
下面代码是获取像素及修改的操作。coding:utf8importcv2读取图片imgcv2。imread(flower。png,cv2。IMREADUNCHANGED)testimg〔88,142〕print(test)img〔88,142〕〔255,255,255〕print(test)分别获取BGR通道像素blueimg〔88,142,0〕print(blue)greenimg〔88,142,1〕print(green)redimg〔88,142,2〕print(red)显示图像cv2。imshow(Demo,img)等待显示cv2。waitKey(0)cv2。destroyAllWindows()写入图像cv2。imwrite(testyxz。jpg,img)
输出结果如下所示:〔15810764〕〔255255255〕255255255
下面代码是将行为100到200、列150到250的像素区域设置为白色。coding:utf8importcv2读取图片imgcv2。imread(flower。png,cv2。IMREADUNCHANGED)该区域设置为白色img〔100:200,150:250〕〔255,255,255〕显示图像cv2。imshow(Demo,img)等待显示cv2。waitKey(0)cv2。destroyAllWindows()写入图像cv2。imwrite(testyxz。jpg,img)
运行结果如下图所示:
四。总结
写到这里,这篇毒基础性文章就介绍结束了。希望文章对大家有所帮助,如果有错误或不足之处,还请海涵。本文首发于CSDN专栏,为了帮助更多同学故在公众号同步更新,一起加油!一。图像基础知识二。OpenCV读写图像三。OpenCV像素处理御
学Python近八年,认识了很多大佬和朋友,希望大家一起进步,作者也会继续深入学习并分享Python相关知识。由于在外求学且需要养娃,故在CSDN设置成了最低价收费专栏,觉得不错的可以购买;但作者的本意是帮助更多初学者入门,因此在github开源了所有代码,也在公众号同步更新。深知自己很菜,得拼命努力前行,编程也没有什么捷径,干就对了。希望未来能更透彻撰写相关文章,同时非常感谢参考文献中的大佬们的文章和分享,砥砺前行。
前文回顾(下面的超链接可以点击喔):〔Python图像处理〕一。图像处理基础知识及OpenCV入门函数
2020年新开的娜璋AI安全之家,主要围绕Python大数据分析、网络空间安全、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。2021年继续加油!
(By:Eastmount20210206夜于贵阳)
参考文献:〔1〕罗子江。Python中的图像处理〔M〕。科学出版社,2020。〔2〕https:blog。csdn。neteastmountcategory9278090。html〔3〕冈萨雷斯。数字图像处理(第3版)〔M〕。电子工业出版社,2013。〔4〕阮秋琦。数字图像处理学(第3版)〔M〕。电子工业出版社,2008。〔5〕毛星云,冷雪飞。OpenCV3编程入门〔M〕。电子工业出版社,2015。〔6〕张铮。数字图像处理与机器视觉VisualC与Matlab实现。〔6〕网易云课堂高登教育。PythonOpenCV图像处理
你以为你有很多路可以选择,其实你只有一条路可以走
大数据下的2018国庆旅游6k景点分析回忆起2018年国庆的前几天里,小伙伴们就已无心工作了,纷纷表示想要尽快为祖国母亲庆生这不,盼望已久的国庆7天假期终于来了在莎士比亚眼里,一百个哈姆雷特,就有一百种活法。对于国庆,
耗时7天,2023年最新一建机电三色浓缩笔记,不考100都说不过去一建机电的备考一直用的苏婷老师的总结资料,一路逆袭从20分一路冲上100,彻底心服口服。距离补考还剩下12天,同事都天天焦虑万分,这个时候你多一份好的心态,就比其他人多一点通过的胜
甲流抗原试剂热销报价从7元人份提高至10元人份据时代财经,从多名经销商处获悉,目前甲流抗原试剂十分抢手,部分经销商手中已经没有现货,需要等待34天才能到货,还有经销商在短短数天内将报价从7元人份提高至10元人份。688253英
U20国足遭逆转憾负无缘四强错失世青赛资格虽败犹荣在昨晚结束的U20亚洲杯四分之一决赛中,经历加时赛鏖战,中国队1比3负于韩国队。上半场,双方互交白卷。易边再战,比赛第48分钟,中国队前场逼迫韩国队门将出现传球失误,木塔力甫突破后
u20国足止步八强,队员哭了,网友却看到了希望u20世青赛,国足小伙拼尽全力,打了加时赛,遗憾让韩国13逆转而惜败。止步八强,无缘四强。门将和中场队员伤心的哭了。这让我们想到前国家足球队员输球后找借口,脸不红,心不跳,继续拿高
李梦上热搜,我有话说北京时间2023年3月12日,wcba总决赛结束,四川队最终21逆转内蒙古,夺得本赛季总冠军,也是队史首个总冠军,联盟第八支夺冠队伍,韩旭获得总决赛最有价值球员。说实在话,很少关注
国乒四好妹纸淘汰伊藤美诚,陈梦王艺迪双双出局还得打女双!WTT新加坡站打得火热,国乒多线作战稳步前进,樊振东王楚钦林高远晋级男单第三轮,两对混双组合则再进一轮。樊振东形容混双的比赛依旧艰苦,搭档王曼昱32战胜了欧洲冠军约内斯库斯佐科斯,
WTT新加坡大满贯赛马龙次轮战小樊振东广州日报讯(全媒体记者杨敏)2023年WTT新加坡大满贯赛昨天产生男单和女单32强。在国乒参赛的8名男单当中,6人晋级,两人出局。晋级的包括头号种子樊振东二号种子马龙王楚钦林高远梁
穆勒道出他和拜仁输皇马球的原因穆勒暗讽C罗赢他和拜仁是靠裁判黑哨!穆勒瞧不起C罗。www。kicker。de穆勒采访原文片段德国媒体www。踢球者。de穆勒采访原文N穆勒表示我对梅西11月和12月在世界杯比赛中
在哈尼云山间,享受一场野餐派对!来源云南日报千年哈尼梯田磅礴大气每年11月至次年4月是梯田的最佳观赏季节这段时间里梯田灌满了水波光粼粼十分壮美此时在梯田旁开一场野餐派对最好不过了!午后的阳光洒向层层叠叠的梯田变幻
樱花盛放!美成了三月的童话世界,这份春日浪漫你一定要拥有樱花开了这份属于三月的浪漫粉白相间的樱花每一朵都是最独特的样子三月的都江堰太浪漫了,万物复苏,百花盛开,寻找春天的身影是绝不能错过的事。樱花一开,就变成了粉色的王国,空气里弥漫着甜
XBB登陆杭州上海二次感染症状有多重?亲历者说出自己的感受在未来的很长一段时间内,病毒很有可能会与人类并存。自从全面放开后,全国各地都出现了大规模爆发的情况,此前有专家表示我国目前所流行的毒株是奥密克戎,感染这种毒株之后,症状跟重感冒类似
施一公最新演讲真正的原创突破是计划不出来的视频加载中纵观科学史,几乎所有影响世界的重大核心技术,都起源于基础研究从0到1的原始创新。而从0到1,需要人们给科学家们心无旁骛探索世界的机会。2023年1月13日,首期新基石研究
石榴达人丨阿不里孜买开摔跤人的耳朵不寻常视频加载中天山网讯(记者张新军王琦铭实习生蔡晓璐报道)阿不里孜买开的耳朵很特别。常人的耳朵外耳轮廓分明,立体感强。阿不里孜买开的耳朵上半部分,却有一块非常显眼的鼓包,触摸后手感很硬
盘点14家基金公司2023年A股投资策略三大方向凝聚共识21世纪经济报道记者庞华玮广州报道岁末年初,不少基金公司给出了2023年的投资策略这对一家基金公司的全年投资具有重要的指导意义。站在新一年的起点,展望2023年,市场会怎么走,哪些
108幅铜版画再现卢浮宫博物馆辉煌的艺术珍藏从达芬奇的蒙娜丽莎,亚森特里戈的路易十四的肖像,到德拉克诺瓦的自由引导人民,安格尔的泉这些来自法国卢浮宫版画工坊的精美的铜版画,向人们展示了版画艺术传承数百年的雕撰的辉煌。1月12
重庆科创板零突破,为何来自医疗行业?中国经济周刊记者石青川丨重庆报道2022年12月26日,重庆山外山血液净化技术股份有限公司(以下简称山外山)在上交所科创板首发上市,发行股票3619万股,募集资金11。69亿元。自
小年的风俗与禁忌,你知道多少?二十三,糖瓜粘,祭灶神,今天就是北方的小年,而南方过小年是在明天腊月二十四,小年也被成为祭灶节灶王节。这一天是要准备好各种贡品祭奠灶王的。祭奠灶王还要扫尘,新年就要有新气象,全家一
有光的日子,我们都能自由前行写给天下人的2023年今天,站在新旧年份交界的时间节点上,很多人估计都像我一样地急迫。与以往任何一个新旧交替不一样,今年,我们想快速离开。离开不是不愿意回忆,而是,往事不堪回首,实在不忍心回头看。有很多
2022辞旧,2023迎新2022辞旧今天是2022年12月31日,今年的最后一天了。我想每一个人在今天都应该有很多话要说,对自己,对家人,对朋友,对事业,对前途。2022,辞旧。我们或许怀着喜悦的心情,或
原来,这才是真正的成功,之前的我们都被误导了!以前,我一直以为所谓的成功是像乔布斯和李嘉诚他们那样,他们有房有车还有很高的地位或者有名气。我想我们一提到他们的名字,基本上没有人不知道他们是谁吧!他们算是成功那批里面的典型代表。
2023,全糖去冰文wm会飞的鱼(原创)图网络岁月馨香,过去的一年,终结于疫情肆虐的寒冬。一切的烦恼和忧愁仿佛都冻结在2022年12月31日。冬已至,春不远,未来将是扑面而来的美好。把心放空,好的不