购物网站建设 优帮云,网站底部优化字,建站工具推荐,安徽省城乡建设信息网【1】引言
前序学习进程中#xff0c;对图像的操作均基于各个像素点上的BGR值不同而展开。
对于彩色图像#xff0c;每个像素点上的BGR值为三个整数#xff0c;因为是三通道图像#xff1b;对于灰度图像#xff0c;各个像素上的BGR值是一个整数#xff0c;因为这是单通…【1】引言
前序学习进程中对图像的操作均基于各个像素点上的BGR值不同而展开。
对于彩色图像每个像素点上的BGR值为三个整数因为是三通道图像对于灰度图像各个像素上的BGR值是一个整数因为这是单通道图像。
如果对这部分内容暂时回忆不起来可以通过链接回忆
python学opencv|读取图像九用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客
python学opencv|读取图像十用numpy创建彩色图像_cv2 通过numpy创建图像-CSDN博客
不过实际追溯下来图像的大小确定后像素就确定了真正操作的都是像素点上的BGR值。
所以在前序的图像叠加效果原理追溯中获得叠加效果的根本原因都是因为各个函数执行了对BGR值的运算操作
python学opencv|读取图像四十四原理探究bitwise_and()函数实现图像按位与运算-CSDN博客
按位计算过程是非常详细的图像叠加过程如果只想对单张图像操作有时候可以通过直接修改单张图像的BGR值实现图像调整。
本次文章就先从最简单的开始通过调用cv2.blur()函数把各个像素点的BGR值取平均值的方法实现图像的色彩调整。
【2】官网教程
点击下方链接直达cv2.blur()函数的官网页面
OpenCV: Image Filtering
cv2.blur()函数的官网页面的解释为 图1 cv2.blur()函数的官网页面
相应的cv2.blur()函数的参数解释为 void cv::blur ( InputArray src, #输入图像 OutputArray dst, #输出图像 Size ksize, #计算图像均值像素核大小 Point anchor Point(-1,-1), #图像像素核锚点会自动计算为可选参数 int borderType BORDER_DEFAULT ) #可选参数边界样式为可选参数 【3】代码测试
首先是引入模块和图像
import cv2 as cv # 引入CV模块# 读取图片
srcm cv.imread(srcx.png) # 读取图像srcx.png
然后对图像做均值计算
#均值计算
src1 cv.blur(srcm,(3,3)) # 图像取平均值像素核大小为(3,3)
src2 cv.blur(srcm,(5,5)) # 图像取平均值像素核大小为(5,5)
src3 cv.blur(srcm,(7,7)) # 图像取平均值像素核大小为(7,7)
然后显示和保存图像
# 显示结果
cv.imshow(srcm , srcm)
cv.imshow(src1 , src1)
cv.imshow(src2 , src2)
cv.imshow(src3 , src3)
cv.imwrite(src1.png,src1)
# 窗口控制
cv.waitKey() # 图像不关闭
cv.destroyAllWindows() # 释放所有窗口
代码运行相关的图像有 图2 初始图像srcx.png 图3 均值图像src1.png 像素核(3,3) 图4 均值图像src2.png 像素核(5,5) 图5 均值图像src3.png 像素核(7,7)
由图2到图5可见随着像素核的增大图像越来越模糊。这提醒我们控制像素核的大小可以进一步控制图像的模糊程度。
【4】细节说明
像素核使用奇数大小会比较好因为奇数大小会在最中间围成一个方格这个方格就是核心方格均值计算的值直接赋给这个核心方格就可以。
【5】总结
掌握了pythonopencv实现调用cv2.blur()函数实现图像BGR值平均处理的技巧。