码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【多媒体技术与实践】图像信息获取和处理——编程题汇总


    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*240的16色的Bitmap图片,该图片的大小为 [填空1] KB。(保留小数点后2位)

    创建一个分辨率为300*200的256色的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

    2)14+40+256*4+300*200=61078B=59.65KB

    3)14+40+2*4+320*240/8=9662B=9.44KB

    4)14+40+300*200*3=180054B=175.83KB

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

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

  • 相关阅读:
    【Java】多态中调用成员的特点
    数组,数组方法及排序算法(冒泡排序,选择排序,快速排序)
    UNIAPP day_04(9.2) 移动端对话框、节流防抖、跳转传参、补充API
    mysql 注入之权限
    package.json与package-lock.json
    天宇优配|钠电池汽车要来了,续航达500公里!持续高成长股揭秘
    09 模型的增删查改《ThinkPHP6 入门到电商实战》
    4. xaml Button按钮
    java基于安卓Android/微信小程序的的高校科研团队管理系统uniapp
    强大的协作工具 J2L3x,创造出高效敏捷的工作氛围
  • 原文地址:https://blog.csdn.net/m0_65787507/article/details/133808696
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号