0

通过我的代码,我想知道图像的尺寸(以英寸为单位)。通过 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);
}

请帮我找到以英寸为单位的图像大小。提前致谢...

4

3 回答 3

1

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

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

于 2012-06-01T12:17:00.257 回答
0

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

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

于 2012-06-01T08:10:18.780 回答
0

你不能。如果我拍月亮的照片,月亮的直径可能是 127 像素。那应该是多少英寸?在那张照片中,月亮透过一棵树照耀着,树宽 341 像素。树有多少英寸?真的??

于 2012-06-01T10:52:30.650 回答