• 【多媒体技术与实践】图像信息获取和处理——编程题汇总


    1:计算图像的数据量

    根据输入的图像分辨率及深度,计算图像的数据量。

    例如:

    输入:

    2816 2112 24

    输出:

    17.02MB  (保留小数点后2位)

    代码块

    1. #include
    2. using namespace std;
    3. #include
    4. int main(){
    5. //rate * depth/8
    6. double a,b,c;
    7. cin>>a>>b>>c;
    8. double sum=a*b*c/8;
    9. sum/=1048576;
    10. printf("%.2fMB",sum);
    11. return 0;
    12. }

    【解析】 

    公式在【chap4 Review of Image Processing and photoshop instruction】ppt中的46页处

    如果是采用位映射存储方式,则未经压缩的数字图像数据量 (B/)=分辨率×(图像深度/8)

    综上所述,图像数据量=height * width * depth / 8 (bit)

    同时1MB=1048576bit

    2:计算一个Bmp图像文件的大小

    输入图像的大小和颜色深度,输出图像大小,以KB表示,保留小数点后2位。

    如:

    输入:

    320 240 4

    输出:

    37.62

    2)

    输入:

    300 200 24

    输出:

    175.83

    【代码块】

    1. #include
    2. using namespace std;
    3. #include
    4. #include
    5. //1 千字节(KB)=8192 比特(bit)
    6. int main(){
    7. double w,h,depth;
    8. cin>>w>>h>>depth;
    9. double ret;
    10. if(depth==24){
    11. ret=w*h*depth/8+14+40;
    12. }
    13. else{
    14. ret=w*h*depth/8+pow(2,depth)*4+14+40;
    15. }
    16. ret/=1024;//B to KB
    17. printf("%.2f",ret);
    18. return 0;
    19. }

    【解析】

    公式和例题在【chap4 Digital Image Processing】ppt中的21页处

    创建一个分辨率为320*24016色的Bitmap图片,该图片的大小为 [填空1] KB(保留小数点后2)

    创建一个分辨率为300*200256色的Bitmap图片,该图片的大小为 [填空2] KB(保留小数点后2)

    创建一个分辨率为320*240的单色的Bitmap图片,该图片的大小为  [填空3]  KB(保留小数点后2)

    创建一个分辨率为300*200的真彩色(24位)的Bitmap图片,该图片的大小为  [填空4]  KB(保留小数点后2)

    1 14+40+16*4+320*240/2=38518B=37.62KB

    214+40+256*4+300*200=61078B=59.65KB

    314+40+2*4+320*240/8=9662B=9.44KB

    414+40+300*200*3=180054B=175.83KB

    注意:如果是300*20016Bitmap图像,其所占空间并不是14+40+16*4+300*200/2=30118B

    因为需要两个像素占一个字节,所以需要补齐8位,长宽都是8的倍数,所以是14+40+16*4+304*200/2=30518B

  • 相关阅读:
    新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP
    make&Makefile
    注解配置SpringMVC
    Xavier CPU & GPU 高负载功耗测试
    C语言描述数据结构 —— 单链表
    Java数据类型
    从不同视角理解架构
    手写编程语言-如何为 GScript 编写标准库
    Linux系统下Django框架的环境准备工作流程
    深入了解归并排序:原理、性能分析与 Java 实现
  • 原文地址:https://blog.csdn.net/m0_65787507/article/details/133808696