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):图像剪切和图像移位

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


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

查看所有标签

猜你喜欢:

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

松本行弘的程序世界

松本行弘的程序世界

松本行弘 / 柳德燕、李黎明、夏倩、张文旭 / 人民邮电出版社 / 2011-8 / 75.00元

《松本行弘的程序世界》是探索程序设计思想和方法的经典之作。作者从全局的角度,利用大量的程序示例及图表,深刻阐述了Ruby编程语言的设计理念,并以独特的视角考察了与编程相关的各种技术。阅读《松本行弘的程序世界》不仅可以深入了解编程领域各个要素之间的关系,而且能够学到大师的思考方法。 《松本行弘的程序世界》面向各层次程序设计人员和编程爱好者,也可以供相关技术人员参考。一起来看看 《松本行弘的程序世界》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具