Python OpenCV处理图像之滤镜和图像运算

  

本文实例为大家分享了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)      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Python OpenCV处理图像之滤镜和图像运算