社区
C++ 语言
帖子详情
opencv如何缩放彩色图像
feilongzafei
2010-06-07 05:31:00
问高手一个关于图像缩放的问题,下面的网址是关于灰度图缩放的程序,对彩色图不好使,请问不用cvResize有其他方法吗,(用opencv将会导致图像失真)还有其他类似 http://blog.csdn.net/zdl1016/archive/2008/03/02/2139941.aspx缩放彩色图像的方法吗
...全文
108
1
打赏
收藏
opencv如何缩放彩色图像
问高手一个关于图像缩放的问题,下面的网址是关于灰度图缩放的程序,对彩色图不好使,请问不用cvResize有其他方法吗,(用opencv将会导致图像失真)还有其他类似 http://blog.csdn.net/zdl1016/archive/2008/03/02/2139941.aspx缩放彩色图像的方法吗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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;
}
OpenCV
实现任意角度
彩色图像
旋转
在这个特定的案例中,我们关注的是如何使用
OpenCV
来实现
彩色图像
的任意角度旋转。在VC++6.0这样的集成开发环境中,我们可以编写C++代码来调用
OpenCV
库,实现这一功能。 首先,我们需要了解图像旋转的基本原理。图像...
在WPF中使用
opencv
sharp操作图像.rar
`ImReadModes.Color`表示读取为三通道
彩色图像
。 **3. 显示图像** 在WPF中,可以创建一个`ImageSource`对象,将其绑定到`Image`控件的`Source`属性,以便在UI上显示图像。使用`ToBitmapSource()`方法将`Mat`对象...
opencv
中彩色图转为灰度图
在
OpenCV
库中,提供了多种图像处理函数,如图像
缩放
、图像旋转、图像滤波等。 将彩色图转换为灰度图 要将彩色图转换为灰度图,需要使用
OpenCV
库的 `cvtColor` 函数,该函数可以将图像从一个颜色空间转换到另一...
opencv
图片
缩放
3. 图像类型:`cvResize`支持多种图像类型,包括灰度图像、
彩色图像
等。 在实际项目中,图片
缩放
广泛应用于预处理步骤,如人脸识别、物体检测、图像分类等。例如,当我们训练深度学习模型时,通常会将输入图像调整...
opencv
2D图像资源
你可以通过调整参数来控制图像的读取模式,例如灰度、彩色等。 2. **图像基本操作**:包括图像裁剪、
缩放
、旋转和平移。例如,`crop()`函数用于裁剪,`resize()`用于
缩放
,`warpAffine()`和`warpPerspective()`用于...
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章