社区
机器视觉
帖子详情
8比特灰度位图图像
sjbird331
2008-08-20 10:53:09
如何用C语言实现一个读取8比特灰度位图图像,然后拷贝该图像的数据到另外的空白位图中,谢谢
...全文
282
4
打赏
收藏
8比特灰度位图图像
如何用C语言实现一个读取8比特灰度位图图像,然后拷贝该图像的数据到另外的空白位图中,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lucian2007
2008-08-22
打赏
举报
回复
关键要解析文件的格式,没有别的问题,不同的文件格式数据的存储不同,你要把需要的数据以要显示的格式读取出来就ok
ollydbg23
2008-08-22
打赏
举报
回复
[Quote=引用 2 楼 sjbird331 的回复:]
openCV只是一个工具 难道C语言不可以吗
[/Quote]
C语言当然是可以的,就用C语言的文件读写功能操作一下就可以了,网上这样的代码有不少的,你自己google一下。
sjbird331
2008-08-20
打赏
举报
回复
openCV只是一个工具 难道C语言不可以吗
Marffin
2008-08-20
打赏
举报
回复
OpenCV
一个简单的CDIB类
〉CDIB功能 提供针对设备无关位
图
的一系列操作。 〉CDIB使用方法 将DIB目录复制到工程的原文件目录中。 在工程的Source Files中添加DIB文件夹,并导入DIB目录中的所有文件。 在需要使用DIB的文件中添加 include "dib.h" using namespace DIB; 1)读取Bitmap
图
片 //CDib对象可以从读取Bitmap,DIB文件数据。 //之前需要创建CFile对象,而后从CFile对象读取数据。 CDib m_Dib; CFile* pf; pf=new CFile; pf->Open(m_ImageName,CFile::modeRead); //m_ImageName为路径加文件名,如"C:\\Img\\My_Bitmap.bmp" m_Dib.Read(pf); pf->Close(); delete pf; 2)保存CDib对象到文件 //m_Dib是包含有
图
像
数据CDib对象 //pFile 指向已经创建的可对文件进行写操作的CFile对象 m_Dib.write(CFile* pFile) 3)从CDIB获得
图
像
数据 //m_Dib 包含有
图
像
数据CDib对象 //realDataFLag 选择是返回真实
图
像
数据,还是返回
灰度
数据的布尔值变量(bool),为真时返回的是
图
像
真实数据。 unsigned char * img; img=m_Dib.GetImgPtr(realDataFLag); //获得的
图
像
数据是以左上角为(0,0)点开始的从左至右, //从上至下,具有真实宽度(非补4)的数据 //realDataFlag为真时返回的是
图
像
真实数据 //realDataFlag为假时返回的是
灰度
化的
图
像
数据 4)将
图
像
数据赋给CDib对象 //m_Dib是包含有
图
像
数据CDib对象 //img 指向
图
像
数据的无符号字符型指针(unsigned char *) //realDataFLag 指明输入的是真实
图
像
数据,还是返回
灰度
数据的布尔值变量(bool),为真时输入的是
图
像
真实数据。 m_Dib.SetImgPtr(img,realDataFlag);//设置
图
像
数据 5)从
图
像
数据创建CDib对象 CDib m_Dib m_Dib.CreateDib(pImgData,width,height,nBitCount);//pImgData为指向
图
象数据的指针 //nBitCount一个像素所用的比
特
数 目前仅支持8 6)由CDib对象创建Bitmap对象 //m_Dib是包含有
图
像
数据CDib对象 HBITMAP bitmap; CDC * pDC=AfxGetApp()->GetMainWnd()->GetDC(); bitmap=m_Dib.CreateBitmap(pDC)//输入值为 CDC * ,一般可通过AfxGetApp()->GetMainWnd()->GetDC()获得 7)显示
图
象中的
特
殊信息 在处理过程中将
图
像
中的
特
殊信息用251~255表示(对彩色
图
像
,将R、G、B赋予251~255的相同数值) 将
灰度
图
象中
灰度
值大于等于251的不需
特
殊显示的像素赋为250, 将彩色
图
像
中R=G=B且大于等于251的不需
特
殊显示的像素赋为(250,250,250) 而后按4)中描述的将
图
像
数据赋给CDib对象 最后调用EnhanceColor()将CDib对象转化为可以显示
特
殊信息的
图
像
一个VC++低层的BMP
图
像
读写程序
摘要:VC/C++源码,
图
形处理,BMP,
图
像
读取 一个低级的BMP
图
像
读写程序,代码内有丰富的注释。改变
灰度
图
像
的颜色表蓝色分量的值,察看前后变化,将
图
像
数据存盘,清除缓冲区,pBmpBuf和pColorTable是全局变量,在文件读入时申请的空间。 几个全局变量,存放读入
图
像
的位
图
数据、宽、高、颜色表及每像素所占位数(比
特
) 定义全局变量主要为了后面的
图
像
数据访问及
图
像
存储作准备。虽然本程序代码文件挺少,但内部的几个函数确实够实用: 函数名称:readBmp() 函数参数:char *bmpName -文件名字及路径 返回值:0为失败,1为成功 说明:给定一个
图
实战比
特
币国密修改与比
特
币钱包开发
2008年爆发全球金融危机,同年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比
特
币白皮书《比
特
币:一种点对点的电子现金系统》 [6] ,陈述了他对电子货币的新设想——比
特
币就此面世。2009年1月3日,比
特
币创世区块诞生。 和法定货币相比,比
特
币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比
特
币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比
特
币,并且在交易过程中外人无法辨认用户身份信息。2009年1月5日,不受央行和任何金融机构控制的比
特
币诞生。比
特
币是一种数字货币,由计算机生成的一串串复杂代码组成,新比
特
币通过预设的程序制造。 每当比
特
币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比
特
币。早先,这些分析总是集中在比
特
币是不是骗局。而现如今的分析总是集中在比
特
币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比
特
币的通缩
特
性上。 [7] 不少比
特
币玩家是被比
特
币的不能随意增发所吸引的。和比
特
币玩家的态度截然相反,经济学家们对比
特
币2100万固定总量的态度两极分化。 凯恩斯学派的经济学家们认为政府应该积极调控货币总量,用货币政策的松紧来为经济适时的加油或者刹车。因此,他们认为比
特
币固定总量货币牺牲了可调控性,而且更糟糕的是将不可避免地导致通货紧缩,进而伤害整体经济。奥地利学派经济学家们的观点却截然相反,他们认为政府对货币的干预越少越好,货币总量的固定导致的通缩并没什么大不了的,甚至是社会进步的标志。 比
特
币网络通过“挖矿”来生成新的比
特
币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比
特
币网络分布式记账系统的一致性。比
特
币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比
特
币网络会新生成一定量的比
特
币作为区块奖励,奖励获得答案的人。 [6] 2009年,比
特
币诞生的时候,区块奖励是50个比
特
币。诞生10分钟后,第一批50个比
特
币生成了,而此时的货币总量就是50。随后比
特
币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),区块奖励减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,区块奖励再减半为12.5个。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。 [3] [8] 比
特
币是一种虚拟货币,数量有限,但是可以用来套现:可以兑换成大多数国家的货币。你可以使用比
特
币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比
特
币购买现实生活当中的物品。 2014年2月25日,“比
特
币中国”的比
特
币开盘价格为3562.41元,截至下午4点40分,价格已下跌至3185元,跌幅逾10%。根据该平台的历史行情数据显示,在2014年1月27日,1比
特
币还能兑换5032元人民币。这意味着,该平台上不到一个月,比
特
币价格已下跌了36.7%。 同年9月9日,美国电商巨头eBay宣布,该公司旗下支付处理子公司Braintree将开始接受比
特
币支付。该公司已与比
特
币交易平台Coinbase达成合作,开始接受这种相对较新的支付手段。 虽然eBay市场交易平台和PayPal业务还不接受比
特
币支付,但旅行房屋租赁社区Airbnb和租车服务Uber等Braintree客户将可开始接受这种虚拟货币。Braintree的主要业务是面向企业提供支付处理软件,该公司在2013年被eBay以大约8亿美元的价格收购。 2017年1月22日晚间,火币网、比
特
币中国与OKCoin币行相继在各自官网发布公告称,为进一步抑制投机,防止价格剧烈波动,各平台将于1月24日中午12:00起开始收取交易服务费,服务费按成交金额的0.2%固定费率收取,且主动成交和被动成交费率一致。 [9] 5月5日,OKCoin币行网的新数据显示,比
特
币的价格刚刚再度刷新历史,截止发稿前高触及9222元人民币高位。1月24日中午12:00起,中国三大比
特
币平台正式开始收取交易费。9月4日,央行等七部委发公告称中国禁止虚拟货币交易。同年12月17日,比
特
币达到历史高价19850美元。 2018年11月25日,比
特
币跌破4000美元大关,后稳定在3000多美元。 [10] 11月19日,加密货币恢复跌势,比
特
币自2017年10月以来首次下探5000美元大关,原因是之前BCH出现硬分叉,且监管部门对首次代币发行(ICO)加强了审查。 [10] 11月21日凌晨4点半,coinbase平台比
特
币报价跌破4100美元,创下了13个月以来的新低。 2019年4月,比
特
币再次突破5000美元大关,创年内新高。 [11] 5月12日,比
特
币近八个月来首次突破7000美元。 [12] 5月14日,据coinmarketcap报价显示,比
特
币站上8000美元,24小时内上涨14.68%。 [13] 6月22日 ,比
特
币价格突破10000美元大关。比
特
币价格在10200左右震荡,24小时涨幅近7%。 [14] 6月26日,比
特
币价格一举突破12000美元,创下自去年1月来近17个月高点。 [15] 6月27日早间,比
特
币价格一度接近14000美元,再创年内新高。 [16] 2020年2月10日,比
特
币突破了一万美元。据交易数据,比
特
币的价格涨幅突破3% [17] 。3月12日,据加密货币交易平台Bitstamp数据显示,19点44分,比
特
币低价格已跌至5731美元 [18] 。5月8日,比
特
币突破10000美元关口,创下2月份以来的新高 [19] 。5月10日早上8点开始,比
特
币单价在半小时内从9500美元价位瞬间下跌了上千美元,低价格跌破8200美元,高价差超1400美元 [20] 。7月26日下午6点,比
特
币短时极速拉升,高触及10150.15USDT,日内大涨幅超过4%,这是2020年6月2日以来首次突破1万美元关口 [21] 。11月4日,比
特
币价格正式突破14000美元 [22] 。11月12日晚,比
特
币价格突破16000美元,刷新2018年1月以来新高,一周涨超8.6%。比
特
币总市值突破2915亿美元 [23] 。11月18日,比
特
币价格突破17000美元 [24] 。12月1日,比
特
币价格报19455.31美元,24小时涨幅为5.05%。 [25] 12月17日,比
特
币价格突破23000美元整数关口,刷新历史新高,日内涨幅超7.5%。 [26] 截至12月27日19时20分,比
特
币报价28273.06美元。 [27] 2021年1月8日,比
特
币涨至4万美元关口上方,高至40402美元
灰度
变换-位
图
切割(比
特
平面分层)
图
像
的像素值是由比
特
组成的。例如一副256级
灰度
图
像
中,
图
像
是由8 bit组成。与之前对比度拉伸的区别是,之前我们主要强调在某一范围的
灰度
值作为我们能感兴趣的目标将其变亮或者变暗。而位
图
切割主要强调每个bit对
图
像
的贡献,通过方法将不同位的
灰度
值值取出来还原成
图
像
。如
图
所示,一副8 bit
图
像
,我们可以将
图
像
分割成8个,将每个
图
像
对应的比
特
位取出构建成一副新的
图
像
。
使用matlab提取8bit
灰度
的位
图
并显示
在一些
灰度
调制的场合,需要将8bit位深的
灰度
图
每一个位平面抽离出来。使用matlab提取8bit
灰度
的位
图
并显示
机器视觉
4,447
社区成员
15,336
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章