生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是opencv笔记系列中的「图像剪切」和「图像移位」。更多可关注「浪学」公众 ~
世间万图,皆可剪切和移位。这一篇以很咸鱼的方式把它们记录下来。
首先载入图像
import cv2import numpy as npfrom matplotlib.pyplot import imshow%matplotlib inlineimg = cv2.imread('image.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]# 显示原图imshow(img)复制代码
原图如下:
图像剪切:图像剪切的操作比较简单, 只需要对图片的像素矩阵进行切片操作就行了。
dst = img[100:200, 100:300]imshow(dst)复制代码
得到剪切后的图像显示如下
图像移位:
1)第一种方法,建立偏移矩阵, 然后用矩阵映射
# 方法1matShift = np.float32([[1,0,100],[0,1,200]]) # 偏移矩阵dst = cv2.warpAffine(img, matShift, (height, width)) # 映射复制代码
2)第二种方法,直接像素操作
# 方法2dst = np.zeros(img.shape, np.uint8)# 像素操作for i in range(height): for j in range(width-100): dst[i, j+100] = img[i,j]复制代码
两种结果的输出如下
今天的笔记就记录这么多了,阿浪已经泡好了咖啡,换个姿势,继续晒太阳。。。