OpenCV---计算机图像基本操作
【OpenCV+TensorFlow】清华博士带你做项目!计算机视觉实战+深度学习,项目可写进简历!(附源码资料)-人工智能/深度学习框架/RNN/池化层/感受_哔哩哔哩_bilibilipip install opencv-pythonctrl+L快速清屏计算机中rgb范围0-255矩阵形状 [500,500,3]import cv2# 读取的格式是BGRimport matplotlib.py
·
【OpenCV+TensorFlow】清华博士带你做项目!计算机视觉实战+深度学习,项目可写进简历!(附源码资料)-人工智能/深度学习框架/RNN/池化层/感受_哔哩哔哩_bilibili
pip install opencv-python
ctrl+L快速清屏
计算机中rgb范围0-255
矩阵形状 [500,500,3]
import cv2 # 读取的格式是BGR import matplotlib.pyplot as plt import numpy as np # img = cv2.imread('rabbit.jpg') # 读取路径不能包含中文,否则会为none # print(img) # cv2.imshow('image', img) # 第一个为窗口名字 # cv2.waitKey(0) # 等待时间,毫秒级,0表示任意键终止 # cv2.destroyAllWindows() def cv_show(name, img): cv2.imshow('image', img) # 第一个为窗口名字 cv2.waitKey(0) # 等待时间,毫秒级,0表示任意键终止 cv2.destroyAllWindows() # img.shape() # img = cv2.imread('flower.jpg', cv2.IMREAD_GRAYSCALE) # cv2.IMREAD.COLOR 彩色图像;cv2.IMREAD_GRAYSCALE灰度图像 # print(img.shape) # cv2.imshow('image', img) # 图像的显示,也可以创建多个窗口 # cv2.waitKey(10000) # cv2.destroyAllWindows() # cv2.imwrite('mygreyflower.png', img) # 保存 # type(img) # print(img.size) # print(img.dtype) # # 视频读取 # girl = cv2.VideoCapture("美女.mp4") # # 检查是否打开 # if girl.isOpened(): # open, frame = girl.read() # open为bool值,如果第一帧可以读入,为true,frame接收每一帧图像信息 # else: # open = False # # while open: # ret, frame = girl.read() # if frame is None: # 视频为空停止执行 # break # if ret == True: # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 转成黑白图像 # cv2.imshow('result', gray) # print(frame) # if cv2.waitKey(100) & 0xFF == 27: # 27为退出键 # break # girl.release() # cv2.destroyAllWindows() # 截取部分图像数据 # img = cv2.imread('flower.jpg') # flower = img[0:200, 0:200] # cv_show('flower', flower) # # 颜色通道提取 # b, g, r = cv2.split(img) # 分别提出3个通道 # print(b) # print(b.shape) # print(g.shape) # # img = cv2.merge((b, g, r)) # 合并3个通道 # print(img.shape) # # 只保留R # img = cv2.imread('flower.jpg') # cur_img = img.copy() # cur_img[:, :, 0] = 0 # cur_img[:, :, 1] = 0 # cv_show('R', cur_img) # # 边界填充 # img = cv2.imread('flower.jpg') # top_size, bottom_size, left_size, right_size = (50, 50, 50, 50) # replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, # borderType=cv2.BORDER_REPLICATE) # 复制最边缘像素 # reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, # cv2.BORDER_REFLECT) # 反射法,fedcba|abcdefgh|hgfedcb # reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, # cv2.BORDER_REFLECT_101) # gfedcb|abcdefgh|gfedcba # wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP) # cdefgh|abcdefgh|abcdefg # constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, value=0) # 常数值填充 # # plt.subplot(231), plt.imshow(img, 'gray'), plt.title("ORIGINAL") # plt.subplot(232), plt.imshow(replicate, 'gray'), plt.title("REPLICATE") # plt.subplot(233), plt.imshow(reflect, 'gray'), plt.title("REFLECT") # plt.subplot(234), plt.imshow(reflect101, 'gray'), plt.title("REFLECT_101") # plt.subplot(235), plt.imshow(wrap, 'gray'), plt.title("WRAP") # plt.subplot(236), plt.imshow(constant, 'gray'), plt.title("CONSTANT") # plt.show() # # 图片加法 # img = cv2.imread('flower.jpg') # img_flower2 = img + 10 # print(img_flower2[:5, :, 0]) # print((img_flower2 + img)[:5, :, 0]) # 越界取余 # print(cv2.add(img_flower2, img)[:5, :, 0]) # 越界取255 # # 图片融合 # img_flower = cv2.imread('flower.jpg') # img_rabbit = cv2.imread('rabbit.jpg') # print(img_flower.shape) # print(img_rabbit.shape) # img_rabbit = cv2.resize(img_rabbit, (319, 300)) # print(img_rabbit.shape) # res = cv2.addWeighted(img_rabbit, 0.4, img_flower, 0.6, 0) # plt.imshow(res) # plt.show() # img_flower = cv2.imread('flower.jpg') # res = cv2.resize(img_flower, (0, 0), fx=3, fy=1) # 倍数关系,变形 # plt.imshow(res) # plt.show() import cv2 import matplotlib.pyplot as plt import numpy as np img=cv2.imread(r"C:\Users\RSB\Desktop\flower.jpg") print(img) cv2.imshow('image', img) # 第一个为窗口名字 cv2.waitKey(0) # 等待时间,毫秒级,0表示任意键终止 cv2.destroyAllWindows()
cv2.waitKey() 等待时间 cv2.waitKey(1000) 1000比100慢10倍
# b, g, r = cv2.split(img) # 分别提出3个通道
两种加法的区别
更多推荐
已为社区贡献1条内容
所有评论(0)