dpi 分辨率

c语言opencv,处理一幅图像,处理后的图像的长宽保持不变,

如何保持图像的dpi和图像解像度保持不变?

 
最佳答案
 
opencv里提供了函数,貌似叫cv_resize函数,可以指定分辨率。只要获取原图像的分辨率,按比例重新指定新的分辨率就行了。
 
追问
这个函数我知道 是调整图片长宽的 我指的是DPI 图像的解像度保持不变,这个你知道吗?
 
追答
你的问题有点歧义,DPI指的是每英寸的像素点数。也就是说同样是1920*1080分辨率的一张图像,比如在7寸的面积内显示和在70寸的面积上进行显示,
这个时候DPI才是有差别的。图像的分辨率在两次显示的过程中是没有变化的。也就是说DPI取决于屏幕大小,与图像的分辨率是没有关系的。
 
追问
那问一下,在通过VC处理后,图像的DPI可以保持不变吗?有什么方法吗?我发现原来是1200的通过处理后却变成了72
 
追答
我觉得你还是没太弄明白分辨率、dpi之间的区别。举个栗子啊,三星note3手机的分辨率是1920*1080,屏幕尺寸为5.7英寸,
同时某款桌面显示器分辨率也是1920*1080,屏幕尺寸23英寸。现在你有一张1920*1080的图片同时用来给两款设备作为屏幕桌面背景,
问,那个设备上DPI高?答案是在三星note3手机上的图片DPI高。这是因为在不提屏幕尺寸的前提下来谈DPI,那都是耍流氓!
opencv能做的只是改变图片的分辨率,再举个例子吧:一张1920*1080分辨率的图片,在边长12英寸(不是对角线长度)的屏幕上进行显示。
然后使用opencv进行分辨率缩放,调整为960*540(长宽各缩小一半,面积缩小为1/4)。如果还在原来的12寸显示器上显示,
那么此时DPI降低为原来的1/4,因为尺寸没变,图像缩小了1/4。那像你说的想要DPI不变怎么办呢?
用一个3英寸(边长,非指对角线长度)的屏幕来显示,这样图像缩小为1/4,显示屏幕也缩小为1/4.这样DPI保持不变。
原文地址:https://www.cnblogs.com/Crysaty/p/6531497.html