在用c++代码复现matlab代码时,遇到两者resize函数的结果不相同的问题。

opencv:

resize(image1, reTmp, Size(, ), , , cv::INTER_LINEAR);

matlab:

tmp=imresize(img,[ ],'bilinear','AntiAliasing',false);

以一张500×396的彩色图片为例,resize到(50,50):

matlab  imresize代码:

img=imread('image/cluo.jpg');
img=single(img);
for i=:
fprintf('%.6f ',img(,i,));
end
fprintf('\n');
tmp=imresize(img,[ ],'bilinear','AntiAliasing',false);
for i=:
fprintf('%.6f ',tmp(,i,));
end

c++ resize代码:

#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std; void main()
{
Mat image = imread("cluo.jpg");
Mat image1(image.rows, image.cols, CV_32FC3);
for (int i = ; i < image.rows; i++)
for (int j = ; j < image.cols; j++)
{
image1.at<Vec3f>(i, j)[] = image.at<Vec3b>(i, j)[];
image1.at<Vec3f>(i, j)[] = image.at<Vec3b>(i, j)[];
image1.at<Vec3f>(i, j)[] = image.at<Vec3b>(i, j)[];
} //打印输出resize前r通道前10个像素点的坐标
for (int i = ; i < ; i++)
printf("%.6f ", image1.at<Vec3f>(, i)[]);
printf("\n");
Mat reTmp;
resize(image1, reTmp, Size(, ), , , cv::INTER_LINEAR);
//resize(image1, reTmp, Size(50, 50), 0, 0, cv::INTER_NEAREST);
//打印输出resize后r通道前10个像素点的坐标
for (int i = ; i < ; i++)
printf("%f ", reTmp.at<Vec3f>(, i)[]);
printf("\n"); system("pause");
}

结果比较:

结果基本相同

matlab中默认的     tmp=imresize(img,[50 50],'bilinear');    函数是打开了抗锯齿   结果和opencv中的INTER_LINEAR不相同

matlab  和  opencv中  nearest  方式的结果比较:

c++:    resize(image1, reTmp, Size(50, 50), 0, 0, cv::INTER_NEAREST);

matlab:   tmp=imresize(img,[50 50],'nearest');

matlab:   tmp=imresize(img,[50 50],'nearest','AntiAliasing',false);

结果不相同

opencv的resize和matlab的imresize函数的计算的更多相关文章

  1. paper 121 :matlab中imresize函数

    转自:http://www.cnblogs.com/rong86/p/3558344.html matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = i ...

  2. MATLAB 用 imresize() 函数缩小图象是 double 和 uint8 有差别

    今天发现一个奇怪的现象. 在用 imresize() 缩小图象时,如果图象时 double 格式的,缩小后会产生不连通的现象. 下面是原图: 对这张图象 img 做 simg = imresize(i ...

  3. opencv通过dll调用matlab函数,图片作为参数

    [blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数                   前文介绍了如何“csharp通过dll调用opencv函数,图片作为参数”.而在实 ...

  4. opencv 图像resize

    这是文档中的函数原型 cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 参数说明src:要resize的原图,应该是一个矩阵 dsi ...

  5. MATLAB的边缘检测函数中隐含的细化(非极大值抑制)算法

    前段时间做了一个车牌检测识别的项目,我的任务是将MATLAB中的算法移植成C++代码.在车牌区域提取的过程中,用到了水平方向的Sobel算子检测垂直边缘,一开始我直接把MATLAB中的 bw = ed ...

  6. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  7. Matlab基本函数-conj函数

    Matlab基本函数-conj函数 1.conj函数:用于计算复数的共轭值 2.用法说明:y=conj(x)函数计算复数x的共轭值.输出结果y的维数跟输入x的维数一致,返回值为:real(y)-i*i ...

  8. 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...

  9. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...

随机推荐

  1. vim正则表达式

    目录 一.使用正则表达式的命令[/,?, s, g] 1. 搜索命令 2. 替换命令s 3. global 命令形式 二.正则表达式的用法 表示位置的符号 表示数量的元字符 元字符一览 方括号内的特殊 ...

  2. 合作开发工具——freeze和pipreqs

    以后在合作开发的过程中,难免会用到别人开发到一半或者将自己开发的项目交给别人,在转交项目的时候需要让别人知道本项目中用到了哪些模块,这时可以用到一条命令来帮助我们. pip3 freeze # 获取环 ...

  3. java框架之Hibernate(4)-几种检索方式

    准备 模型及映射文件 package com.zze.bean; import java.util.HashSet; import java.util.Set; public class Class ...

  4. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

  5. Rocketmq源码导入eclipse时报错的解决方法

    1,Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-help-plugi ...

  6. Vue系列之 => 路由的嵌套

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. HTML常用标签定义,用法及例子

    1.HTML注释 <!--...--> 定义:使用注释可对代码进行解释,不会显示在浏览器中. <!--这是一段呢注释.注释不会在浏览器中显示.--> <p>段落标签 ...

  8. 【Spark-core学习之四】 Spark任务提交

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  9. python 设置位置参数是整数类型

  10. web前端开发常用组件

    web前端开发常用组件 1. 对话框(dialog):jbox(适合对话框等其它功能).colorbox(也很强大,可以弥补jbox图片轮播的落点),      这二者基本能搞定所有对话框的情况 2. ...