• 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保持不变。
  • 相关阅读:
    使用nodejs消费SAP Cloud for Customer上的Web service
    如何在SAP Cloud for Customer自定义BO中创建访问控制
    SAP云平台运行环境Cloud Foundry和Neo的区别
    SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
    SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
    写在Github被微软收购之际
    在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
    Java实现 LeetCode 517 超级洗衣机
    Java实现 LeetCode 517 超级洗衣机
    Java实现 LeetCode 517 超级洗衣机
  • 原文地址:https://www.cnblogs.com/Crysaty/p/6531497.html
Copyright © 2020-2023  润新知