本文实例为大家分享了Python OpenCV处理图像之滤镜和图像运算的具体代码,供大家参考,具体内容如下
<强> 0 x01。滤镜强>
喜欢自拍的人肯定都知道滤镜了,下面代码尝试使用一些简单的滤镜,包括图片的平滑处理,灰度化、二值化等:
进口cv2。简历,简历 形象=cv.LoadImage (img/lena.jpg, cv.CV_LOAD_IMAGE_COLOR) #载入图像 简历。ShowImage(“原始”,图片) 灰色=cv.CreateImage((图片。宽度,image.height) 8 1) # 8深度、1通道灰度 简历。CvtColor(形象,灰色,cv.CV_RGBA2GRAY) #转换为灰色,所以作为一个过滤器 简历。ShowImage(灰色,灰色) #平滑变换 平滑=cv.CloneImage(图片) cv.Smooth(形象,平滑,cv.CV_MEDIAN) #施加一个与指定的算法cv.MEDIAN顺利完成 简历。ShowImage(“平滑”,平滑) #均衡处理 简历。EqualizeHist(灰色,灰色)#工作> 进口cv2。简历,简历 我=cv.LoadImage (“img/lena.jpg”cv.CV_LOAD_IMAGE_GRAYSCALE) 阈值=cv.CreateImage (cv.GetSize (im), 8日,1) def> 进口cv2。简历,简历 我=cv.LoadImage (“img/lena.jpg”, 3) #选择一块区域 简历。(50150150)SetImageROI (im) #给所选区域的矩形坐标 #变换操作 cv.Zero (im) #简历。集(im,简历。RGB(100、100、100))把图像给定值 #解除选区 cv.ResetImageROI (im) #重置ROI cv.ShowImage(“形象”,im) cv.WaitKey (0)
<强> 0 x04。运算强>
对于多张图片,我们可以进行一些运算操作(包括算数运算和逻辑运算),下面的代码将演示一些基本的运算操作:
进口cv2。简历简历#或简单导入简历 我=cv.LoadImage (“img/lena.jpg”) im2=cv.LoadImage (“img/fruits-larger.jpg”) 简历。ShowImage (“Image1 im) 简历。im2 ShowImage (“Image2”) res=cv.CreateImage (cv.GetSize (im2), 8日,3) #加 简历。添加(im, im2 res) #添加每一个像素在一起(黑色是0如此之低变化和白色过载) 简历。res ShowImage(“添加”) #减 简历。im2 AbsDiff (im, res) #像-为每个像素im (i) - im2(我) 简历。res ShowImage (“AbsDiff”) #乘 简历。Mul (im, im2 res) #乘以每个像素(几乎白色) 简历。ShowImage(“乘”,res) #除 简历。Div (im, im2 res) #值低的图像会可能几乎是黑色的 简历。res ShowImage (" Div ") #与 简历。和(im, im2 res) #,对每一个像素 简历。ShowImage(”和“res) #或 简历。或(im, im2 res) #位或每像素 简历。ShowImage (res”或“) #非 简历。不是(im, res) #位的形象 简历。res ShowImage(“不”) #异或 简历。Xor (im, im2 res) #位Xor 简历。res ShowImage (Xor) #乘方 简历。战俘(im, res, 2) #战俘与给定值的每个像素 简历。res ShowImage(“战俘”) #最大值 简历。马克斯(im, im2 res) #两个像素之间的最大 #相同的形式分分钟 res cv.ShowImage (“Max”) cv.WaitKey (0)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。