当前位置:首页 » 操作系统 » gray的算法

gray的算法

发布时间: 2024-04-12 07:23:42

‘壹’ 锲惧儚澶勭悊涓锛屽浘镀忕殑浜搴﹀煎拰𨱔板害鍊兼湁浠涔埚尯鍒钖楋纻杩樻槸涓涓镒忔濓纴涓嶅悓镄勫彨娉曞憿锛

锲惧儚镄勪寒搴﹀煎拰𨱔板害鍊兼槸链夊尯鍒镄勶纴鍖哄埆涓猴细锲捐薄浜搴︽槸鎸囩敾闱㈢殑鏄庝寒绋嫔害锛屽崟浣嶆槸鍫寰锋媺姣忓钩绫(cd/m2)鎴栫Оnits銆傜伆搴︽槸鎸囨妸锏借壊涓庨粦镩蹭箣闂存寜瀵规暟鍏崇郴鍒嗘垚鑻ュ共绾э纴鍏惰寖锲翠竴鑸浠0鍒255锛岀槠镩蹭负255锛岄粦镩蹭负0銆

镓╁𪾢璧勬枡锛

𨱔板害涓庝寒搴︾殑鍏崇郴锛

杞鎹㈠叕寮:

涓銆佸熀纭

瀵逛簬褰╄壊杞𨱔板害锛屾湁涓涓寰堣宪钖岖殑蹇幂悊瀛﹀叕寮忥细

Gray=R*0.299+G*0.587+B*0.114

浜屻佹暣鏁扮畻娉

钥屽疄闄呭簲鐢ㄦ椂锛屽笇链涢伩鍏崭绠阃熺殑娴镣硅繍绠楋纴镓浠ラ渶瑕佹暣鏁扮畻娉曘

娉ㄦ剰鍒扮郴鏁伴兘鏄3浣岖簿搴︾殑娌℃湁锛屾垜浠鍙浠ュ皢瀹冧滑缂╂斁1000鍊嶆潵瀹炵幇鏁存暟杩愮畻绠楁硶锛

Gray=(R*299+G*587+B*114+500)/1000

RGB涓鑸鏄8浣岖簿搴︼纴鐜板湪缂╂斁1000鍊嶏纴镓浠ヤ笂闱㈢殑杩愮畻鏄32浣嶆暣鍨嬬殑杩愮畻銆傛敞镒忓悗闱㈤偅涓闄ゆ硶鏄鏁存暟闄ゆ硶锛屾墍浠ラ渶瑕佸姞涓500𨱒ュ疄鐜板洓鑸崭簲鍏ャ

灏辨槸鐢变簬璇ョ畻娉曢渶瑕32浣嶈繍绠楋纴镓浠ヨュ叕寮忕殑鍙︿竴涓鍙樼嶅緢娴佽岋细

Gray=(R*30+G*59+B*11+50)/100

浣嗘槸锛岃槠璇翠笂涓涓鍏寮忔槸32浣嶆暣鏁拌繍绠楋纴浣嗘槸镙规嵁80x86浣撶郴镄勬暣鏁颁箻闄ゆ寚浠ょ殑鐗圭偣锛屾槸鍙浠ョ敤16浣嶆暣鏁颁箻闄ゆ寚浠ゆ潵杩愮畻镄勚

涓夈佹暣鏁扮Щ浣岖畻娉

涓婇溃镄勬暣鏁扮畻娉曞凡缁忓緢蹇浜嗭纴浣嗘槸链変竴镣逛粛鍒剁害阃熷害锛屽氨鏄链钖庣殑闾d釜闄ゆ硶銆傜Щ浣嶆瘆闄ゆ硶蹇澶氢简锛屾墍浠ュ彲浠ュ皢绯绘暟缂╂斁鎴2镄勬暣鏁板箓銆

涔犳傥涓娄娇鐢16浣岖簿搴︼纴2镄16娆″箓鏄65536锛屾墍浠ヨ繖镙疯$畻绯绘暟锛

0.299*65536=19595.264铌19595

0.587*65536+(0.264)=38469.632+0.264=38469.896铌38469

0.114*65536+(0.896)=7471.104+0.896=7472

锲涜垗浜斿叆浼氭湁杈冨ぇ镄勮宸锛屽簲璇ュ皢浠ュ墠镄勮$畻缁撴灉镄勮宸涓璧疯$畻杩涘幓锛岃垗鍏ユ柟寮忔槸铡诲熬娉曪细

鍐欐垚琛ㄨ揪寮忔槸锛

Gray=(R*19595+G*38469+B*7472)>>16

2镊20浣岖簿搴︾殑绯绘暟锛

Gray=(R*1+G*2+B*1)>>2

Gray=(R*2+G*5+B*1)>>3

Gray=(R*4+G*10+B*2)>>4

Gray=(R*9+G*19+B*4)>>5

Gray=(R*19+G*37+B*8)>>6

Gray=(R*38+G*75+B*15)>>7

Gray=(R*76+G*150+B*30)>>8

Gray=(R*153+G*300+B*59)>>9

Gray=(R*306+G*601+B*117)>>10

Gray=(R*612+G*1202+B*234)>>11

Gray=(R*1224+G*2405+B*467)>>12

Gray=(R*2449+G*4809+B*934)>>13

Gray=(R*4898+G*9618+B*1868)>>14

Gray=(R*9797+G*19235+B*3736)>>15

Gray=(R*19595+G*38469+B*7472)>>16

Gray=(R*39190+G*76939+B*14943)>>17

Gray=(R*78381+G*153878+B*29885)>>18

Gray=(R*156762+G*307757+B*59769)>>19

Gray=(R*313524+G*615514+B*119538)>>20

瑙傚疗涓婇溃镄勫纺瀛愶纴杩欎簺绮惧害瀹为檯涓婃槸涓镙风殑锛3涓4銆7涓8銆10涓11銆13涓14銆19涓20锛屾墍浠16浣嶈繍绠椾笅链濂界殑璁$畻鍏寮忔槸浣跨敤7浣岖簿搴︼纴姣斿厛鍓嶉偅涓绯绘暟缂╂斁100鍊岖殑绮惧害楂桡纴钥屼笖阃熷害蹇锛

Gray=(R*38+G*75+B*15)>>7

鍏跺疄链链夋剰镐濈殑杩樻槸闾d釜2浣岖簿搴︾殑锛屽畬鍏ㄥ彲浠ョЩ浣崭紭鍖栵细

Gray=(R+(WORD)G<<1+B)>>2

鐢变簬璇宸寰埚ぇ锛屾墍浠ュ仛锲惧儚澶勭悊缁濅笉鐢ㄨュ叕寮忥纸链甯哥敤镄勬槸16浣岖簿搴︼级銆备絾瀵逛簬娓告垙缂栫▼
锛屽満鏅缁忓父鍙桦寲锛岀敤鎴蜂竴鑸涓嶅彲鑳借傚疗鍒伴滆壊镄勭粏寰宸鍒锛屾墍浠ユ渶甯哥敤镄勬槸2浣岖簿搴︺

鍙傝冭祫鏂欙细

锏惧害锏剧戋斺旂伆搴﹀

锏惧害锏剧戋斺斿浘镀忎寒搴

‘贰’ 25%的灰度RGB是多少

25%的灰度RGB(25,25,25)。

灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图像,它的像素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧:一个256级灰度的图像,如果RGB三个量相同时,如:RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。

彩色图像的灰度其实在转化为黑白图像后的像素值(是一种广义的提法),转化的方法看应用的领域而定,一般按加权的方法转换,R, G,B 的比一般为3:6:1。

任何颜色都由红、绿、蓝三基色组成,假如原来某点的颜色为RGB(R,G,B),那么,可以通过下面几种方法,将其转换为灰度:

1、浮点算法:Gray=R*0.3+G*0.59+B*0.11

2、整数方法:Gray=(R*30+G*59+B*11)/100

3、移位方法:Gray =(R*77+G*151+B*28)>>8;

4、平均值法:Gray=(R+G+B)/3;

5、仅取绿色:Gray=G;

通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

(2)gray的算法扩展阅读


RGB格式:

对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。

RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最常见的一种方案。

但是,它缺乏与早期黑白显示系统的良好兼容性。因此,许多电子电器厂商普遍采用的做法是,将RGB转换成YUV颜色空间,以维持兼容,再根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。

网页格式:

由于网页(WEB)是基于计算机浏览器开发的媒体,所以颜色以光学颜色RGB(红、绿、蓝)为主。网页颜色是以16进制代码表示,一般格式为#DEFABC (字母范围从A-F,数字从0-9 );

如黑色,在网页代码中便是:#000000(在css编写中可简写为#000)。当颜色代码为#AABB11时,可以简写为#AB1表示,如#135与#113355表示同样的颜色。

RGB1、RGB4、RGB8都是调色板类型的RGB格式,在描述这些媒体类型的格式细节时,通常会在BITMAPINFOHEADER数据结构后面跟着一个调色板(定义一系列颜色)。它们的图像数据并不是真正的颜色值,而是当前像素颜色值在调色板中的索引。

以RGB1(2色位图)为例,比如它的调色板中定义的两种颜色值依次为0x000000(黑色)和0xFFFFFF(白色)…(每个像素用1位表示)表示对应各像素的颜色为:黑黑白白黑白黑白黑白白白。

‘叁’ C语言 递归 输出格雷码(Gray码)

你查网络:
一般的,普通二进制码与格雷码可以按以下方法互相转换:
二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)

如果非要按递归来做,可以这样,如果要输出n位格雷码,那么递归层为N:0层负责第0位,1层负责第1位,2层负责第2位。。。。第n-1层负责第n-1位(也就是gray的最高位)这样就可以写出递归函数的轮廓了。
void gray(int n)
{
if(0==n)
{……;return;}
……
gray(n-1);//把处理第n-1位的任务交下一层处理

}
对于第0位来说,每4位为一个循环周期——01 10.
对于第1位来说,每8位为一个循环周期——0011 1100.
对于第2位来说,每16位为一个循环周期——00001111 11110000.
……
对于第N位来说,每2^(N+2)为一个循环周期。
看到这里你有什么启发?
所以我想你应该设置一个全局变量:int flag=1.
对于gray(i)函数来说,可以通过set=flag%(2^(i+2))来设置该第位(当2^i<set&&set<=3*2^i,就设第i位为1)

‘肆’ 像素值和灰度值分别指什么

像素值指的是:稿图像被数字化时由计算机赋予的值,它代表了原稿某一小方块的平均亮度信息,或者说是该小方块的平均反射(透射) 密度信息。在将数字图像转化为网目调图像时,网点面积率 与数字图像的像素值 有直接的关系,即网点以其大小表示原稿某一小方块的平均亮度信息;

灰度值指的是:在计算机领域中,灰度(Gray scale)数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。

(4)gray的算法扩展阅读:

任何颜色都由红、绿、蓝三基色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种算法,将其转换为灰度:

1.浮点算法:Gray=R*0.3+G*0.59+B*0.11

2.整数方法:Gray=(R*30+G*59+B*11)/100

3.移位方法:Gray =(R*77+G*151+B*28)>>8;

4.平均值法:Gray=(R+G+B)/3;

5.仅取绿色:Gray=G;

参考资料来源:网络-灰度值

参考资料来源:网络-像素值



热点内容
macoutlook存储位置设置 发布:2024-11-27 21:35:15 浏览:810
多台电脑共用一个多口服务器 发布:2024-11-27 21:27:45 浏览:863
算法设计与分析基础课后答案 发布:2024-11-27 21:21:53 浏览:647
linux修改mysql数据库编码 发布:2024-11-27 21:16:48 浏览:625
android10驱动 发布:2024-11-27 21:11:36 浏览:347
伤感网站源码 发布:2024-11-27 21:11:28 浏览:538
android软键盘挡 发布:2024-11-27 21:09:10 浏览:517
冒险家选哪个配置性价比高 发布:2024-11-27 20:58:36 浏览:877
阿里云服务器可以多开吗 发布:2024-11-27 20:58:18 浏览:497
图片水印加密 发布:2024-11-27 20:52:37 浏览:118