Python+OpenCV图像处理(一)——OpenCV框架与图像插值算法


系列文章
Python+OpenCV图像处理(一)——OpenCV框架与图像插值算法
Python+OpenCV图像处理(二)——几何变换
Python+OpenCV图像处理(三)——彩色空间互换
Python+OpenCV图像处理(四)——图像滤波
Python+OpenCV图像处理(五)——图像阈值和二值化
Python+OpenCV图像处理(六)——边缘检测


图像处理

图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。

一、OpenCV框架与图像插值算法

1.1 OpenCV简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

环境配置为:win7+python3.6+numpy1.14.2+opencv-python3.4.1

安装opencv-python3.4.1

首先去网站下载OpenCV对应的.whl版本压缩包,网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv本人下载的版本是:opencv_python‑3.4.1‑cp36‑cp36m‑win_amd64.whl 64位系统对应python3.6的

百度云链接:https://pan.baidu.com/s/10RefansrC4_0zsNehjyKTg

pip install opencv_python-3.4.1-cp36-cp36m-win_amd64.whl

导入OpenCV

import cv2

验证是否环境已配置好

print(cv2.__version__)

输出:3.4.1

1.2 图像插值算法

在图像经过空间位置变换之后,需要求取在新平面的新排列的各点像素的位置,其并不会改变映射前后的像素的像素值。这种空间位置变换通常包含缩放、平移与旋转等。

其中常见的图像插值算法有最近邻插值、双线性插值和三次样条插值。

ps:markdown格式的公式书写现在还不熟练,这里把重点放到利用opencv库对算法的调用实现上,只对算法进行简单地描述,算法原理暂时用图代替。


1.2.1 最近邻插值:

最近邻插值,是指将目标图像中的点,对应到源图像中后,找到最相邻的整数点,作为插值后的输出。

  如上图所示,目标图像中的某点投影到原图像中的位置为点P,此时易知, f ( P ) = f ( Q 11 ) f(P) = f(Q11) f(P)=f(Q11).

一个例子:

  如下图所示,将一幅3X3的图像放大到4X4,用 f ( x , y ) f(x, y) f(x,y)表示目标图像, h ( x , y ) h(x, y) h(x,y)表示原图像,我们有如下公式:

f ( d s t X , d s t Y ) = h ( d s t X s r c W i d t h d s t W i d t h , d s t Y s r c H e i g h t d s t H e i g h t ) \begin{array}{c} f(dst_{X}, dst_{Y}) = h(\frac{dst_{X}src_{Width}} {dst_{Width}}, \frac{dst_{Y}src_{Height}} {dst_{Height}}) \end{array} f(dstX,dstY)=h(dstWidthdstXsrcWidth,

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值