opencv图像填充

import time # 导入time模块,用于处理时间相关的功能 import cv2 # 导入OpenCV模块,用于图像处理 # 创建窗口 cv2.namedWindow('window', cv2.WINDOW_AUTOSIZE) # 创建一个名为'window'的窗口,窗口大小自动调整,用户不能手动调整大小 cat = cv2.imread("./9.jpg", 1) # 使用OpenCV的imread函数读取图片,路径为当前目录下的9.jpg,参数1表示读取彩色图像 # 定义上下左右边界的大小 top_size, bottom_size, left_size, right_size = (50, 50, 50, 50) # 使用不同的边界类型创建图像边界 replicate = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE) # BORDER_REPLICATE:复制边缘像素进行填充 BORDER_REFLECT = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REFLECT) # BORDER_REFLECT:反射边缘像素进行填充 REFLECT101 = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REFLECT101) # BORDER_REFLECT101:类似于BORDER_REFLECT,但是在边缘不会重复像素 WRAP = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_WRAP) # BORDER_WRAP:包裹边缘像素进行填充,类似于纹理的重复 CONSTANT = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_CONSTANT, value=0) # BORDER_CONSTANT:使用常量值进行填充,这里是黑色(0) # 展示图像 cv2.imshow('window', cat) # 在名为'window'的窗口中显示原始图像 cv2.imshow('replicate', replicate) # 显示使用BORDER_REPLICATE填充的图像 cv2.imshow('BORDER_REFLECT', BORDER_REFLECT) # 显示使用BORDER_REFLECT填充的图像 cv2.imshow('REFLECT101', REFLECT101) # 显示使用BORDER_REFLECT101填充的图像 cv2.imshow('WRAP', WRAP) # 显示使用BORDER_WRAP填充的图像 cv2.imshow('CONSTANT', CONSTANT) # 显示使用BORDER_CONSTANT填充的图像 key = cv2.waitKey(0) # 等待按键事件,参数0表示无限期等待,直到有按键被按下 # 检查按键是否为'q',如果是则销毁所有窗口 if key & 0xFF == ord('q'): # 将按键的值与0xFF进行按位与操作,以获取正确的ASCII码值,并与'q'的ASCII码比较 print("准备销毁窗口") # 如果按下的是'q'键,则打印消息 cv2.destroyAllWindows() # 销毁所有OpenCV创建的窗口
上一篇:Linux内核__setup 宏的作用及分析


下一篇:基于极角排序实现二维点的逆时针排列