opencv笔记(2):图像剪切和图像移位

栏目: 编程工具 · 发布时间: 6年前

内容简介:生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是opencv笔记系列中的「图像剪切」和「图像移位」。更多可关注「浪学」公众 ~世间万图,皆可剪切和移位。这一篇以很咸鱼的方式把它们记录下来。首先载入图像

生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是opencv笔记系列中的「图像剪切」和「图像移位」。更多可关注「浪学」公众 ~

世间万图,皆可剪切和移位。这一篇以很咸鱼的方式把它们记录下来。

首先载入图像

import cv2
import numpy as np
from matplotlib.pyplot import imshow
%matplotlib inline

img = cv2.imread('image.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
#  显示原图
imshow(img)
复制代码

原图如下:

opencv笔记(2):图像剪切和图像移位

图像剪切:图像剪切的操作比较简单, 只需要对图片的像素矩阵进行切片操作就行了。

dst = img[100:200, 100:300]
imshow(dst)
复制代码

得到剪切后的图像显示如下

opencv笔记(2):图像剪切和图像移位

图像移位:

1)第一种方法,建立偏移矩阵, 然后用矩阵映射

# 方法1
matShift = np.float32([[1,0,100],[0,1,200]])  # 偏移矩阵
dst = cv2.warpAffine(img, matShift, (height, width))  # 映射
复制代码

2)第二种方法,直接像素操作

# 方法2
dst = np.zeros(img.shape, np.uint8)
# 像素操作
for i in range(height):
    for j in range(width-100):
        dst[i, j+100] = img[i,j]
复制代码

两种结果的输出如下

opencv笔记(2):图像剪切和图像移位

今天的笔记就记录这么多了,阿浪已经泡好了咖啡,换个姿势,继续晒太阳。。。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ECMAScript6入门

ECMAScript6入门

阮一峰 / 电子工业出版社 / 2014-8 / 49.00元

《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。一起来看看 《ECMAScript6入门》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具