python處理圖片的一些列操作
阿新 • • 發佈:2022-01-06
cvtColor函式
這個函式有兩個引數
1,src 要進行變換的原影象
2,code 轉換程式碼標識
例子:
import cv2
image=cv2.imread("ddd.jpg")
image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
cv2.imshow("",image1)
cv2.waitKey(0)
if __name__ == '__main__':
print()
split()和merge()
例子:
import cv2 image=cv2.imread("ddd.jpg") # image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA) r,g,b=cv2.split(image) cv2.imshow("r",r) cv2.imshow("g",g) cv2.imshow("b",b) cv2.waitKey(0) if __name__ == '__main__': print()
import cv2 image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg") # image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA) r,g,b=cv2.split(image) cv2.imshow("r",r) cv2.imshow("g",g) cv2.imshow("b",b) image1=cv2.merge([b,g,r]) cv2.imshow("image",image1) cv2.waitKey(0) if __name__ == '__main__': print()
threshold()函式
ret,image= cv2.threshold(src,thresh,maxval,type)
實現二值化的重要函式
引數說明
src 輸入影象
image 輸出影象
thresh 閥值
maxval 當畫素值超過閥值thresh 時賦值為maxval
type 當畫素值小於閥值thresh的時賦值為type type可填下面5種類型的引數
例子:
import cv2 image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg") # image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA) # r,g,b=cv2.split(image) # cv2.imshow("",r) # cv2.imshow("",g) # cv2.imshow("",b) # image1=cv2.merge([b,g,r]) # cv2.imshow("image",image1) ret,image1=cv2.threshold(image,127,255,cv2.THRESH_BINARY) ret1,image2=cv2.threshold(image,127,255,cv2.THRESH_BINARY_INV) # ret2,image3=cv2.threshold(image,127,255,cv2.THRESH_TRIANGLE) ret3,image4=cv2.threshold(image,127,255,cv2.THRESH_TOZERO) ret4,image5=cv2.threshold(image,127,255,cv2.THRESH_TOZERO_INV) cv2.imshow("1",image1) cv2.imshow("2",image2) # cv2.imshow("3",image3) cv2.imshow("4",image4) cv2.imshow("5",image5) cv2.waitKey(0) if __name__ == '__main__': print()
自定義threshold函式進行二值化
import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
width,height,n=image.shape
image2=image.copy()
for i in range(width):
for j in range(height):
for channel in range(3):
if image2[i][j][channel]>127:
image2[i][j][channel]=255
else:
image2[i][j][channel]=0
cv2.imshow('',image2)
cv2.waitKey(0)
if __name__ == '__main__':
print()
這個速度很慢對於解析度太高的圖
色度函式applyColorMap
import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
image_color_map=cv2.applyColorMap(image,cv2.COLORMAP_JET)
cv2.imshow("im",image_color_map)
cv2.waitKey(0)
if __name__ == '__main__':
print()