开始写OpenCV这篇文章的时候,不由想到,我的大学计算机图形学的第一门实 *** 课程就是灰度转化,拉普拉斯锐化等。其中灰度图的转化,是计算机图形学基础中基础,这里就顺着OpenCV的灰度的转化,来看看OpenCV一些基础的api。
本文地址: >
假设原始图像为 MN ,缩小后的图像大小要求为 mn ,需要将图像划分为 (MN)/(mn) 大小的互不相交的小块,计算小块的平均值,该值作为缩小图像对应的像素值。
如下图所示:
我们把 1616 的图像缩小成 44 的图像:
这样互不相交的小块的大小为 16
然后算出小块内的平均值:
在 OpenCV 里面缩放函数如下:
前两个参数分别为输入和输出图像。 dsize 表示输出图像的大小。
上采样原理:图像放大几乎都是采用 内插值 的方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。
插值算法分类:
对插值算法分类一般将插值算法分为传统插值、基于边缘的插值和基于区域的插值3类。
首先将原始低分辨率图像分割成不同区域,然后将插值点映射到低分辨率图像,判断其所属区域,最后根据插值点的邻域设计不同的插值公式,计算插值点的值。
在使用VisualStudio2019搭配OpenCV对进行处理的过程中,我们发现打开的会以原始状态显示,导致延伸到屏幕以外,无法查看全部。用resize函数就可以将显示的大小调整到自己希望的样子。
通过resize重置尺寸
参数:,输出尺寸(一般我不用这个,我传None),宽的比例,高的比例
例子:将img,缩小一半显示,那么宽高为原尺寸的05倍
img = cv2resize(img,None,fx=05,fy=05)
设置完尺寸后再显示
cv2imshow('img',img)
cv2waitKey(0)
希望我的回答对你有帮助!
以上就是关于OpenCV (一)Mat基本 *** 作以及灰度图转化全部的内容,包括:OpenCV (一)Mat基本 *** 作以及灰度图转化、opencv 用imread读取多张图片(图片大小相同)时,读取时间不同、图像缩小和放大原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)