OpenCV简单入门
1.读取图片 imread()
OpenCV目前支持读取bmp、jpg、png、tiff等常用格式。
该方法有两个参数:第一个参数是我们所要读取图片的路径,
第二个参数是图片读取的方式:
IMREAD_ANYCOLOR 表示加载彩色图片(默认)
IMREAD_GRAYSCALE以黑白方式加载图片
IMREAD_UNCHANGED原图加载含alpha channel信息。阿尔法通道(Alpha Channel)是指一张图片的透明和半透明度。
其中第二个参数的这三个值也可用1,0,-1来表示,方便我们在编程时的输入。
import cv2
image = cv2.imread(r'C:\Users\x\Desktop\1.jpg', cv2.IMREAD_GRAYSCALE)
2.显示图片 imshow()
该方法有两个参数,第一个为窗口名,第二个为所要显示的图片。
(1)只对图片窗口进行命名
import cv2
image = cv2.imread(r'C:\Users\x\Desktop\47.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
其中:
cv2.waitKey():是一个键盘绑定函数。 它的参数是以毫秒为单位的时间。 该函数等待任何键盘事件的指定毫秒。 如果您在该时间内按任意键,程序将继续。 如果为0,则无限期等待键击。 它也可以设置为检测特定的键击。
cv2.destroyAllWindows():只是破坏了我们创建的所有窗口。 如果要销毁任何特定窗口,请使用函cv2.destroyWindow(),其中传递了确切的窗口名称作为参数。
(2)先通过cv2.namedWindow()对图片窗口先进行命名并进行其他设置,如可改变窗口大小。
cv2.WINDOW_AUTOSIZE:根据原图大小进行展示
cv2.WINDOW_NORMAL:图片窗口可调节大小
import cv2
image = cv2.imread(r'C:\Users\x\Desktop\1.jpg', cv2.IMREAD_GRAYSCALE)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.保存图片 imwrite()
cv2.imwrite(r'C:\Users\x\Desktop\11.jpg',image)
根据用户在键盘所敲下的不同按键对图片进行处理,如ESC退出,按下"q"时保存图片并退出。
import cv2
image = cv2.imread(r'C:\Users\x\Desktop\1.jpg', cv2.IMREAD_GRAYSCALE)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow("image", image)
k = cv2.waitKey(0) & 0xFF
if k == 27: # 按下ESC退出
cv2.destroyAllWindows()
elif k == ord('q'): # 按下'q'保存图片并退出
cv2.imwrite(r'C:\Users\x\Desktop\11.jpg',image)
cv2.destroyAllWindows()
4.显示图片三个颜色通道cv2.split(img)
import cv2
img = cv2.imread(r'C:\Users\x\Desktop\1.jpg', cv2.IMREAD_ANYCOLOR)
b, g, r = cv2.split(img)
cv2.imshow("Blue", r)
cv2.imshow("Red", g)
cv2.imshow("Green", b)
cv2.waitKey(0)
'''单独分离
b = cv2.split(img)[0]
g = cv2.split(img)[1]
r = cv2.split(img)[2]
'''