社区
C++ 语言
帖子详情
opencv如何缩放彩色图像
feilongzafei
2010-06-07 05:31:00
问高手一个关于图像缩放的问题,下面的网址是关于灰度图缩放的程序,对彩色图不好使,请问不用cvResize有其他方法吗,(用opencv将会导致图像失真)还有其他类似 http://blog.csdn.net/zdl1016/archive/2008/03/02/2139941.aspx缩放彩色图像的方法吗
...全文
135
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
随手简记(四)
OpenCV
简记
openCV
代码集合(C++)
修改RGB图像的某一通道为零 srcImg = cv::imread("./release/test.png"); //把一个图像的某一通道改为零 cv::Mat channels[3]; cv::split(srcImg, channels); channels[2] = cv::Mat::zeros(srcImg.rows, srcImg.cols, CV_8UC1); cv::merge(channels, 3, srcImg); c
python --
opencv
图像处理详解(阈值、二值化、翻转、
缩放
、平移、融合)
OpenCV
在Python中有两个类库,一个是opencs-python,另一个是
opencv
-contrib-python。
opencv
-python是只包含了主要模块的包,而
opencv
-contrib-python包含了主要模块以及一i写扩展模块,带一些收费或者专利的算法,还有一些比较新的算法的高级版本。...
彩色图像
长短边等比例
缩放
并填零补成正方形
对彩色图,将图像长边
缩放
至固定尺寸,并将短边等比例
缩放
,空出部分两边对称填零,补成正方形。
[16] 使用
Opencv
_CUDA 实现访问图像像素、直方图均衡化、几何变换
[16] 使用
Opencv
_CUDA 实现访问图像像素、直方图均衡化、几何变换
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章