标签:200 img 处理 截取 cv2 50 opencv 300 图像
通过上一节已经学会了使用OpenCV读取、显示、写入图像等基本操作,有了初步基础就可以学习更多的图像处理方法。
缩放、裁剪、补边
import cv2
img=cv2.imread('dog.jpg')
# 缩小为200x200的正方形
img_200x200=cv2.resize(img,(200,200))
# 不直接指定缩放后的大小,通过fx和fy指定缩放比例,0.5表示长宽各一半
# 插值方法默认为cv2.INTER_LINEAR,这里指定为最近邻插值
img_half=cv2.resize(img,(0,0),fx=0.5,fy=0.5,interpolation=cv2.INTER_NEAREST)
# 上下各贴50像素的黑边
img_add=cv2.copyMakeBorder(img,50,50,0,0,cv2.BORDER_CONSTANT,value=(0,0,0))
# 裁剪
patch_img=img[20:150,-180:-50]
cv2.imshow("image",img_200x200)
cv2.imshow("img_half",img_half)
cv2.imshow("img_add",img_add)
cv2.imshow("patch_img",patch_img)
cv2.waitKey(0)
ROI截取
#ROI,Range of instrest
roi = img[100:200,300:400] #截取100行到200行,列为300到400列的整块区域
img[50:150,200:300] = roi #将截取的roi移动到该区域 (50到100行,200到300列)
b = img[:,:,0] #截取整个蓝色通道
b,g,r = cv2.split(img) #截取三个通道,比较耗时
img = cv2.merge((b,g,r))
标签:200,img,处理,截取,cv2,50,opencv,300,图像 来源: https://blog.csdn.net/qq_34440409/article/details/120460457
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。