import cv2 img_test_CV = cv2.imread('t2.png') #读图 cv2.namedWindow("test") #创建指定名称的窗口 创建窗口后 会自动弹出 cv2.namedWindow("test1") #创建指定名称的窗口 cv2.namedWindow("test2") #创建指定名称的窗口 cv2.namedWindow("test3") #创建指定名称的窗口 #cv2.imshow("test",img_test_CV) #显示图像,其语法格式为("窗口名称",要显示的图像) #cv2.destroyWindow("test") #用来释放(销毁)指定窗口,其语法格式为:cv2.destroyWindow(winname) # #cv2.destroyAllWindows()销毁所有 b , r, g = cv2.split(img_test_CV) cv2.imshow("test",img_test_CV) cv2.imshow("test1",b) cv2.imshow("test2",r) cv2.imshow("test3",g) #可见通道值被当作灰度值来显示图片 print(b) cv2.waitKey() #waitKey()用来等待按键,当用户按下按键后,该语句会被执行,并获取返回值。可以等待毫秒数或者具体按键
img_matplotlib = cv2.merge([r, g, b]) #Merge channels cv2.imshow("test",img_matplotlib) cv2.waitKey()
通道错误 图像改变
from matplotlib import pyplot as plt import cv2 img_test_CV = cv2.imread('t2.png') #read pic cv2.imshow("test1",img_test_CV) b , g, r = cv2.split(img_test_CV) img_matplotlib = cv2.merge([r, g, b]) #Merge channels cv2.imshow("test3",img_matplotlib) plt.subplot(131) #put one window plt.title("CV_rgb") plt.imshow(img_matplotlib) plt.subplot(132) plt.title("CV_bgr") plt.imshow(img_test_CV) plt.subplot(133) plt.title("CV_normal") plt.imshow(img_test_CV) plt.show() cv2.waitKey() #Reason: The two libraries have different color formats cv is bgr matplotlib is rgb
原因:两个库不同的颜色格式 cv 是bgr matplotlib是rgb
import numpy as np
img_concats = np.concatenate((img_test_CV, img_matplotlib), axis=1) #picture concatenate axis=1 is horizontal 0 is vertical cv2.imshow('bgr image and rgb image', img_concats) cv2.waitKey(0)
import cv2 img = cv2.imread('t2.png') dimensions = img.shape #the number of rows, columns and channels print(dimensions) total_number_of_elements= img.size #total_number_of_elements =420*424*3 rows*columns*channels print(total_number_of_elements) print(420*424*3) image_dtype = img.dtype#type of data print(image_dtype) cv2.imshow("original image", img) top_left_corner = img[0:300, 0:300] #slice pic cv2.imshow("top_left_corner image", top_left_corner) gray_img = cv2.imread('t2.png', cv2.IMREAD_GRAYSCALE) #read in grayscale dimensions2 = gray_img.shape print(dimensions2) cv2.imshow("gray image", gray_img) cv2.waitKey(0)
#day1 over