3h精通OpenCV(三)-重调大小与图像裁剪
0、准备工作 |
---|
右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2
导入cv2库。
我们还要知道在OpenCV中,坐标轴的方向是x轴向右,y轴向下,坐标原点在左上角,比如下面这张长为640像素,宽为480像素的图片。OK,下面开始本节的学习吧。
1、查看图像大小 |
---|
- 调用imread()方法获取我们资源文件夹中的图片lambo.png
- 输出图像的shape属性
img=cv2.imread("Resources/lambo.png")
print(img.shape)
我们来看下效果:
- 上图中462是图像的高度,也就是y轴;
- 623是图像的宽度,也就是x轴;
- 3是通道数,BGR(蓝绿红)通道
2、重新调整图像大小 |
---|
- resize()方法可以将图像调整到指定的宽和高,参数1是需要调整的图像img,参数2是(600,300),也就是新图像的宽和高。
- 我们打印下imgResize的shape,看看是不是输出(300,600,3)。
- 最后将原图和修改大小后的图像显示出来。
img=cv2.imread("Resources/lambo.png")
imgResize=cv2.resize(img,(600,300))
print(imgResize.shape)
cv2.imshow("img",img)
cv2.imshow("imgResize",imgResize)
cv2.waitKey(0)
我们来运行一下,可以看到右侧是调整后的图像,明显宽和高都比原图小:
来看下控制台的输出,和图像大小是一样的:
3、图像裁剪 |
---|
图像裁剪其实就是对矩阵进行截取,选哪些行哪些列,显示选中行列的像素点,就是裁剪后的图像。
imgCropped=img[200:400,200:400]
就是对原图进行裁剪,高从200到400,宽也从200到400,区间范围只要不超过它的高和宽即可。
img=cv2.imread("Resources/lambo.png")
imgCropped=img[200:400,200:400]
cv2.imshow("img",img)
cv2.imshow("imgCropped",imgCropped)
cv2.waitKey(0)
我们运行看下效果,左侧是623X462的原图,右侧是200X200的裁剪图:
我们将裁剪的图像放到原图上进行覆盖,可以拼成原图。
第三节的内容也是比较简单的,主要是让大家熟悉下OpenCV最基础的应用,为后面打下基础。眼过千遍不如手过一遍,快去动手敲一遍吧~
3h精通OpenCV(三)-重调大小与图像裁剪相关推荐
- 3h精通OpenCV(四)-绘制形状与文本
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...
- 3h精通OpenCV(六)-图像堆叠
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...
- 3h精通OpenCV(七)-颜色检测
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...
- 3h精通OpenCV(五)-透视变换
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...
- 3h精通OpenCV(二)-基本功能
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库. 1.转成灰度图像 调用imread()方法获取我们资源文件夹中的图片l ...
- 3h精通OpenCV(一)- 读取图像视频与网络摄像头
0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库. 1.读取图像 调用imread()方法获取我们资源文件夹中的图片 使用 ...
- C语言用if判断大小,学习C语言之用if语句比较三个数的大小[大全5篇]
{ max=c; } if(min>c) { min=c; } printf("max=%d,min=%d",max.min); return 0; } 比较两个数的大小关系 ...
- c语言比较三个数大小输出最小值,比较ABC三个数的大小,从小到大排列输出。,c语言比较三个数大小按从大到小顺序输出...
匿名网友: 思路分析:先比较2个数,取其中大者与第三个数比较得出较大者为最大数,记为max.步骤如下:第一步:输入a,b,c.第二步:比较a,b.若a>b,则执行第三步:否则,执行第四步.第三步 ...
- .net MVC5+EF6+bootstrap搭建框架,从入门到精通(三)——之(Bootstrap Fileinput)多图片上传
.net MVC5+EF6+bootstrap搭建框架,从入门到精通(三)--之(Bootstrap Fileinput)多图片上传 前言废话 .net mvc 实战多图片上传 前言废话 人生最大的b ...
最新文章
- Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤
- POJ 2749 Building roads 2-sat+二分答案
- 打开虚拟服务器设置,什么样配置的虚拟主机打开网站快
- asp.net网站的配置文件
- Undefined symbols for architecture i386:问题解决
- C++中的命名空间(namespace)介绍
- vue 针试打印机实现
- “Java Web 程序设计”心得体会
- android打印机字体大小,热敏打印机字体大小设置,怎么设置打印机字体
- 树莓派3b no wireless interfaces found 的解决办法 360wifi和树莓派结合
- Linux Cpuidle介绍
- gds文件 导出_GaussDB 200使用GDS服务导入导出数据
- 分享一个网站地图生成工具
- 一辈子不用考试?你可能是个假程序员
- 计算机语言词汇量,汉语作为第二语言的词汇量测量工具研究
- 实时监控linux的日志命令
- 超级强大的淘宝开源平台(taobao-code)
- leetcode 台阶_leetcode-爬楼梯(动态规划)
- OpenCV-Python Feature2D 特征点检测(含ORB/KAZE/FAST/BRISK/AKAZE)
- HaaS轻应用(JavaScript)低功耗蓝牙案例
热门文章
- 学习笔记-数据结构与算法之栈与队列
- python微信开发入门_python tornado微信开发入门代码
- uniapp手写地图搜索选取功能
- django 获取环境变量_django 环境变量配置过程详解
- 微型计算机是一种将CPU,Bwnhlq计算机一级考试选择题题库之微型计算机基础题及答案(XX年最新版)1.doc...
- php管理员权限表,权限表的建立
- Android 生态消息推送平台介绍
- 进程、轻量级进程(LWP)、线程
- intelliJ idea 激活和配置
- Unix网络编程---第一次作业