社区
C++ 语言
帖子详情
opencv如何缩放彩色图像
feilongzafei
2010-06-07 05:31:00
问高手一个关于图像缩放的问题,下面的网址是关于灰度图缩放的程序,对彩色图不好使,请问不用cvResize有其他方法吗,(用opencv将会导致图像失真)还有其他类似 http://blog.csdn.net/zdl1016/archive/2008/03/02/2139941.aspx缩放彩色图像的方法吗
...全文
134
1
打赏
收藏
opencv如何缩放彩色图像
问高手一个关于图像缩放的问题,下面的网址是关于灰度图缩放的程序,对彩色图不好使,请问不用cvResize有其他方法吗,(用opencv将会导致图像失真)还有其他类似 http://blog.csdn.net/zdl1016/archive/2008/03/02/2139941.aspx缩放彩色图像的方法吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feilongzafei
2010-06-07
打赏
举报
回复
上面网址内容如下:
感觉上opencv很强大,但是,用起来又有点茫然,一点一点对她的内部机制了解吧。
下面是今天的研究成果:
由于标准话人脸模板要缩放图像到统一的尺寸,奇怪的是 CV里面居然没有提供这样的函数~~~哎
1:
// :双线性插值缩放图像
// : 输入参数
// : image:输入图像(8bit,单通道)
// : rows:缩放后的行数,
// : cols:缩放后的列数
// : 返回
// : 缩放后的图像
IplImage* ZoomBilinear( IplImage* image, int rows, int cols )
{
int depth = 8, channels = 1;
IplImage* pImg = cvCreateImage( cvSize(cols,rows), depth, channels );
float scaleFactorRow = ((float)rows)/image->height;
float scaleFactorCol = ((float)cols)/image->width;
int i_out, j_out, i_in, j_in;
float i_in_f, j_in_f;
float u , v ;
float pixel;
u = v = 0.0;
for( i_out=0; i_out<rows; ++i_out )
{
for( j_out=0; j_out<cols; ++j_out )
{
i_in_f = ((float)i_out) / scaleFactorRow;
j_in_f = ((float)j_out) / scaleFactorCol;
u = i_in_f - cvFloor( i_in_f );
v = j_in_f - cvFloor( j_in_f );
i_in = cvFloor( i_in_f );
j_in = cvFloor( j_in_f );
// :对边界值暂不做处理
if ( image->height==i_in || image->width==j_in ||
0==i_in || 0==j_in )
continue;
pixel =
(1-u)*(1-v)*CV_IMAGE_ELEM(image,uchar,i_in,j_in) +
(1-u)*v*CV_IMAGE_ELEM(image,uchar,i_in,j_in+1) +
u*(1-v)*CV_IMAGE_ELEM(image,uchar,i_in+1,j_in) +
u*v*CV_IMAGE_ELEM(image,uchar,i_in+1,j_in+1);
CV_IMAGE_ELEM(pImg, uchar, i_out, j_out ) = cvFloor( pixel );
}
}
return pImg;
}
2.3
OpenCV
随手简记(四)
本文介绍了使用Python
OpenCV
库进行图像处理的方法,包括基于平均阈值的二值化处理、
彩色图像
分割及视频中特定颜色的追踪技术。此外,还探讨了图像
缩放
的多种实现方式。
openCV
代码集合(C++)
本文介绍了如何使用
OpenCV
进行图像处理,包括修改RGB图像的某通道为零、灰度图像的二值化(静态阈值、平均值阈值、自适应阈值)、
彩色图像
转灰度、图像
缩放
、仿射变换(平移、旋转)以及绘制图形和响应鼠标事件。详细展示了相关函数的用法,如`cv::threshold`、`cv::cvtColor`、`cv::resize`、`cv::getAffineTransform`和`cv::warpAffine`等。
python --
opencv
图像处理详解(阈值、二值化、翻转、
缩放
、平移、融合)
本文围绕Python中
OpenCV
的图像处理展开。介绍了
opencv
-python和
opencv
-contrib-python两个类库,阐述图像基础知识,如二值、灰度和
彩色图像
。还讲解了
OpenCV
入门操作,包括读入、显示、写入图像,以及像素处理、图像属性、ROI区域、通道处理、算数运算、颜色空间转换、
缩放
、平移、旋转、翻转和阈值处理等内容。
彩色图像
长短边等比例
缩放
并填零补成正方形
该博客介绍了一种图像处理方法,将
彩色图像
按比例
缩放
成长宽比为1的正方形,长边
缩放
至固定尺寸,短边等比例
缩放
后用零填充。使用
OpenCV
进行通道分离与合并,并通过copyMakeBorder实现填充。代码实现了批量处理图片,将处理后的图像保存至指定文件夹。
[16] 使用
Opencv
_CUDA 实现访问图像像素、直方图均衡化、几何变换
本文介绍了使用
Opencv
_CUDA 实现图像像素访问、直方图均衡化及几何变换的方法。包括了像素强度读取、灰度图像和
彩色图像
的直方图均衡化,以及图像的
缩放
、平移和旋转等几何变换。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章