Python的Open CV学习四

Python的Open CV学习一(准备工作)https://mp.csdn.net/mp_blog/creation/editor/122823865Python的Open CV学习二(显示图片)https://mp.csdn.net/mp_blog/creation/editor/122826126Python的Open CV学习三(显示视频和摄像头图像)https://blog.csdn.net/m0_55868453/article/details/122848220今天我们学习可将其图片转换为灰度图、模糊图、边缘检测图、膨胀图、变薄图;并且显示图片大小并且改变图片大小和裁剪大小

第一步:导入cv2库

#导入CV2库q
import cv2.cv2 as cv2

第二步:导入图片

#将图片导入
img = cv2.imread('mofang2.jpg')

第三步:使用cv2.cvtColor()将其图片转换想要的类型

#将彩色图像转换为灰度图像   原图像   指定转换类型(将bgr转换为灰度图)
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

第四步:显示图片

#展示图片
cv2.imshow('Gray Image',imgGray)    #显示灰度图
cv2.waitKey(0)

Python的Open CV学习四_第1张图片

 如法炮制,如果想将其图片进行模糊处理或者边缘检测则用下面的cv2.GaussianBlur()和 cv2.Canny()函数来得到自己想要的

#导入CV2库q
import cv2.cv2 as cv2

#将图片导入
img = cv2.imread('mofang2.jpg')

#将其进行模糊处理  ossian模糊函数  图像  高斯内核大小(得是正数或者奇数) 高斯核标准偏差(其中xy设置为0)
imgBlur =cv2.GaussianBlur(img,(9,9),0)
#将运用canny函数进行边缘检测器  后面为阈值
imgCanny = cv2.Canny(img,50,50)


cv2.imshow('Blur Image',imgBlur)    #显示模糊图
cv2.imshow('Canny Image',imgCanny)  #显示边缘化图
cv2.waitKey(0)

但是如果我们想要将其图像边缘变厚变薄则需要设置矩阵,得添加numpy库,然后我们再使用cv2.dilate()函数来对边缘进行膨胀,使用cv2.erode()进行变薄

#导入CV2库q
import cv2.cv2 as cv2
#导入numpy库
import numpy as np

#将图片导入
img = cv2.imread('mofang2.jpg')
#定义矩阵大小5*5 无符号
kernel = np.ones((3,3),np.uint8)

#将运用canny函数进行边缘检测器  后面为阈值
imgCanny = cv2.Canny(img,50,50)
#将其图像进行膨胀 需要定义矩阵大小的值[图像  方框大小  迭代次数 ]
imgDialation = cv2.dilate(imgCanny,kernel,iterations=1)
#将其图像进行变薄[图像  方框大小  迭代次数 ]
imgEroded = cv2.erode(imgDialation,kernel,iterations=1)

cv2.imshow('Dialation image',imgDialation)  #显示膨胀图像
cv2.imshow('Eroded image',imgEroded)  #显示变薄图像
cv2.waitKey(0)

Python的Open CV学习四_第2张图片

如果想要改变图片大小或者裁剪图片,可以使用cv2.resize()改变图片整体大小,裁剪图片可用img[0:250,0:250]来指定想要裁剪的位置

"""
功能:显示图片大小并且改变图片大小和裁剪大小
"""

#导入CV2库q
import cv2.cv2 as cv2

#读取图片,并显示大小
img = cv2.imread('mofang2.jpg')
print(img.shape)
#改变图像大小
imgResize = cv2.resize(img,(300,300))
print(imgResize.shape)

imgCropped = img[0:250,0:250]

cv2.imshow('Image',img)
cv2.imshow('imgResize Image',imgResize)
cv2.imshow('imgCropped Image',imgCropped)

cv2.waitKey(0)

Python的Open CV学习四_第3张图片

你可能感兴趣的:(学习,python,opencv)