OpenCV学习笔记

导入一些需要用的库

import numpy as np
import cv2 as cv

关于膨胀

img = cv.imread("图片的路径") #不能出现中文路径
#定义一个卷积核
kernel = np.ones((5,5),np.uint8) #5*5的值为1的矩阵
imgDialation = cv.dialate(imgCanny,kernel,iterations = 1) //内核迭代1次
cv.imshow("Dialation Image",imgdialation)

运行结果为:
OpenCV学习笔记左图为膨胀后的图片,右图为原图
如果把迭代次数改为5,如下图:
OpenCV学习笔记

关于侵蚀

imgEroded = cv.erode(imgDialation,kernerl ,iteration = 1)
cv.imshow("Eroded Image ",imgErode)

如图:
OpenCV学习笔记

左边是侵蚀图像,中间是膨胀图像,右边是原图。

关于伸缩

img = cv.imread("lambo.png")
print(img.shape) #输出(462,623,3)462*623像素的3通道图片
imgResize = cv.resize(img,(300,200)) #同样如果想伸展改为大于原图像的值即可
print(imgResize.shape)#(200,300,3)
cv.imshow("Image Resize",imgResize)

结果如下:
OpenCV学习笔记
左图为原图,右图为处理过的

关于剪裁

imgCropped = img[0:200,200:500] #高 宽
cv.imshow("Imge cropped",imgCropped)

OpenCV学习笔记
左图为剪裁后的图片,右图为原图

关于绘制形状

import cv2 as cv
import numpy as np
img = np.zeros((512,512)) #512*512的值为0的矩阵,如果想变成3通道图像改为((512,512),3)
print(img.shape) #(512,512)
cv.imshow("Image",img)

如图:
OpenCV学习笔记
512512的灰度图像*
关于给图像上色

img[:] = 255,0,0 #给整张图像涂上蓝色,局部:[200:300,100:300] = 255,0,0

如图:
OpenCV学习笔记
关于绘制线条

cv.line(img,(0,0),(300,300),(0,255,0),3)#(图像名,坐标,坐标,颜色,通道数)

如图:
OpenCV学习笔记

cv.line(img,(0,0),(img.shape[0],img.shape[1]),(0,255,0),3)#其中(img.shape[0],img.shape[1])代表(高度,宽度)

如图:
OpenCV学习笔记
关于填充颜色

cv.rectangle(img,(0,0),(250,350),(0,255,0),3,FILLED)

如图:
OpenCV学习笔记

上一篇:Python-OpenCV 中的绘图函数


下一篇:VMware虚拟机中Centos 6.x系统磁盘空间扩容实战