0、准备工作

右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。

我们还要知道在OpenCV中,坐标轴的方向是x轴向右,y轴向下,坐标原点在左上角,比如下面这张长为640像素,宽为480像素的图片。OK,下面开始本节的学习吧。

1、查看图像大小
  1. 调用imread()方法获取我们资源文件夹中的图片lambo.png
  2. 输出图像的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(三)-重调大小与图像裁剪相关推荐

  1. 3h精通OpenCV(四)-绘制形状与文本

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...

  2. 3h精通OpenCV(六)-图像堆叠

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...

  3. 3h精通OpenCV(七)-颜色检测

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...

  4. 3h精通OpenCV(五)-透视变换

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import numpy并且重命名为np. import cv2 imp ...

  5. 3h精通OpenCV(二)-基本功能

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库. 1.转成灰度图像 调用imread()方法获取我们资源文件夹中的图片l ...

  6. 3h精通OpenCV(一)- 读取图像视频与网络摄像头

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库. 1.读取图像 调用imread()方法获取我们资源文件夹中的图片 使用 ...

  7. C语言用if判断大小,学习C语言之用if语句比较三个数的大小[大全5篇]

    { max=c; } if(min>c) { min=c; } printf("max=%d,min=%d",max.min); return 0; } 比较两个数的大小关系 ...

  8. c语言比较三个数大小输出最小值,比较ABC三个数的大小,从小到大排列输出。,c语言比较三个数大小按从大到小顺序输出...

    匿名网友: 思路分析:先比较2个数,取其中大者与第三个数比较得出较大者为最大数,记为max.步骤如下:第一步:输入a,b,c.第二步:比较a,b.若a>b,则执行第三步:否则,执行第四步.第三步 ...

  9. .net MVC5+EF6+bootstrap搭建框架,从入门到精通(三)——之(Bootstrap Fileinput)多图片上传

    .net MVC5+EF6+bootstrap搭建框架,从入门到精通(三)--之(Bootstrap Fileinput)多图片上传 前言废话 .net mvc 实战多图片上传 前言废话 人生最大的b ...

最新文章

  1. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤
  2. POJ 2749 Building roads 2-sat+二分答案
  3. 打开虚拟服务器设置,什么样配置的虚拟主机打开网站快
  4. asp.net网站的配置文件
  5. Undefined symbols for architecture i386:问题解决
  6. C++中的命名空间(namespace)介绍
  7. vue 针试打印机实现
  8. “Java Web 程序设计”心得体会
  9. android打印机字体大小,热敏打印机字体大小设置,怎么设置打印机字体
  10. 树莓派3b no wireless interfaces found 的解决办法 360wifi和树莓派结合
  11. Linux Cpuidle介绍
  12. gds文件 导出_GaussDB 200使用GDS服务导入导出数据
  13. 分享一个网站地图生成工具
  14. 一辈子不用考试?你可能是个假程序员
  15. 计算机语言词汇量,汉语作为第二语言的词汇量测量工具研究
  16. 实时监控linux的日志命令
  17. 超级强大的淘宝开源平台(taobao-code)
  18. leetcode 台阶_leetcode-爬楼梯(动态规划)
  19. OpenCV-Python Feature2D 特征点检测(含ORB/KAZE/FAST/BRISK/AKAZE)
  20. HaaS轻应用(JavaScript)低功耗蓝牙案例

热门文章

  1. 学习笔记-数据结构与算法之栈与队列
  2. python微信开发入门_python tornado微信开发入门代码
  3. uniapp手写地图搜索选取功能
  4. django 获取环境变量_django 环境变量配置过程详解
  5. 微型计算机是一种将CPU,Bwnhlq计算机一级考试选择题题库之微型计算机基础题及答案(XX年最新版)1.doc...
  6. php管理员权限表,权限表的建立
  7. Android 生态消息推送平台介绍
  8. 进程、轻量级进程(LWP)、线程
  9. intelliJ idea 激活和配置
  10. Unix网络编程---第一次作业