c语言opencv,处理一幅图像,处理后的图像的长宽保持不变,如何保持图像的dpi和图像解像度保持不变?
答案:1 悬赏:60 手机版
解决时间 2021-03-23 11:46
- 提问者网友:两耳就是菩提
- 2021-03-23 00:25
c语言opencv,处理一幅图像,处理后的图像的长宽保持不变,如何保持图像的dpi和图像解像度保持不变?
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-03-23 00:48
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保持不变。追问谢谢你这几天给我的耐心回答 现在弄明白这两个概念了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯