使用OpenCV库以英寸为单位查找图像的尺寸

时间:2012-06-01 08:07:35

标签: c++ opencv

通过我的代码,我想知道图像的尺寸,以英寸为单位。通过OpenCV,我可以使用以下代码找到图像像素数组的高度和宽度:

#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
     IplImage *img = cvLoadImage("photo.jpg");
     if (!img) {
        printf("Error: Couldn't open the image file.\n");
        return 1;
     }
     cout<<"Number of pixels in width = "<<img->width<<endl<<"Number of pixels in height = "<<img->height;
      return(0);
}

请帮助我找到以英寸为单位的图像尺寸。 提前谢谢......

3 个答案:

答案 0 :(得分:1)

您需要知道显示器的DPI。为此,您需要查看平台的SDK(Windows / Linux / Mac)以了解如何检索此信息,因为OpenCV不提供此功能。

Image Size Calculator是执行此计算的JavaScript计算器。检查代码页面的源代码。

答案 1 :(得分:0)

您必须定义px / inch比率。你会得到价值。

如果您想在显示器上以英寸为单位调整图像大小,请调整显示器分辨率和大小,然后您将获得这些比率。

答案 2 :(得分:0)

你做不到。如果我拍一张月亮照片,卫星直径可能是127像素。那应该多少英寸?月亮照在那张照片中的一棵树上,树的宽度为341像素。这棵树多少英寸?真??