前情提要:作为刚入门机器视觉的小伙伴,第一节课学到机器视觉语法时觉得很难理解,
很多人家的经验,我发现都千篇一律,功能函数没解析,参数不讲解,就一个代码,所以在此将搜集的解析和案例拿出来汇总!!!
一、opencv+python环境搭建
其实能写python的就能写opencv,但是工具很总要,代码提示也很重要,你可能会用submit vs等工具,submit编码个人觉得不够智能,vs的话过完年我学的方向不一致,所以没用
推荐 pycharm ,在项目setting中的项目解释器中安装 opencv-python 即可进行编码。python环境搭建也灰常方便。
二、边缘提取案例
import cv2 def edge_demo(image): #GaussianBlur图像高斯平滑处理 blurred = cv2.GaussianBlur(image, (3, 3), 0) #(3, 3)表示高斯矩阵的长与宽都是3,意思就是每个像素点按3*3的矩阵在周围取样求平均值,,标准差取0 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #颜色模式转换成cv2.COLOR_BGR2GRAY模式下的灰度图像 edge_output = cv2.Canny(gray, 50, 150) #提取上一步中处理好的图像边缘,50和150分别代表低阈值和高阈值,高阈值用来将物体与背景区分开来,低的用于平滑连接高阈值产生的片段,使图像成一个整体 cv2.imshow("canny edge", edge_output)#输出灰度图像 #原图与灰度图像与运算,按照灰度图剪切加和的原图 dst = cv2.bitwise_and(image, image, mask=edge_output) cv2.imshow("color edge", dst)#输出带颜色边缘图像 if __name__ == '__main__': img = cv2.imread("cat.jpg") # cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE) cv2.imshow("input image", img) edge_demo(img) cv2.waitKey(0)#等待键盘输入,不输入 则无限等待 cv2.destroyAllWindows()#清除所以窗口
三、解释功能函数
其实上面的代码也是用的别人的,但绝大多数都没有解释,对于像我这种新手不是很友好
高斯处理
图像处理中,常用的滤波算法有均值滤波、中值滤波以及高斯滤波等。
三种滤波器的对比:
滤波器种类 基本原理 特点
均值滤波 使用模板内所有像素的平均值代替模板中心像素灰度值 易收到噪声的干扰,不能完全消除噪声,只能相对减弱噪声
中值滤波 计算模板内所有像素中的中值,并用所计算出来的中值体改模板中心像素的灰度值 对噪声不是那么敏感,能够较好的消除椒盐噪声,但是容易导致图像的不连续性
高斯滤波 对图像邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值 对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征
意思就是使你的图像灰度分布更均匀,每个点的像素均为周围 按3*3的矩阵在周围取样求平均值,,标准差取0来处
blurred = cv2.GaussianBlur(image, (3, 3), 0) #GaussianBlur图像高斯平滑处理 #(3, 3)表示高斯矩阵的长与宽都是3,意思就是每个像素点按3*3的矩阵在周围取样求平均值,,标准差取0
灰度转换----》也叫做二值化处理
故名思意就是转换成黑白图像,后面的参数中 cv2.COLOR_BGR2GRAY 其实就是色彩模式,所以函数名为 cvtColor(色彩模式转换)
cvtColor()用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变, 即转换后的图像的数据类型和位深与源图像一致
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #颜色模式转换成cv2.COLOR_BGR2GRAY模式下的灰度图像
边缘识别提取
这一步是将二值化后的图像提取边缘,50和150分别代表低阈值和高阈值,高阈值用来将物体与背景区分开来,低的用于平滑连接高阈值产生的片段,使图像成一个整体
简明而言就是,小的用于细小的地方处理,大的宏观处理----》大阈值用于分离背景与轮廓,晓得用于拼接细小的轮廓,即可形成一个整体
edge_output = cv2.Canny(gray, 50, 150) #提取上一步中处理好的图像边缘,50和150分别代表低阈值和高阈值,高阈值用来将物体与背景区分开来,低的用于平滑连接高阈值产生的片段,使图像成一个整体
输出即可,小面的函数只是对比学习而已,可以不用
(对于dst = cv2.bitwise_and(image, image, mask=edge_output) cv2.imshow("color edge", dst)#输出带颜色边缘图像
)
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]