《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 數(shù)字圖片處理算法
數(shù)字圖片處理算法
2015年微型機與應(yīng)用第20期
王命全,張祖蓮,時現(xiàn)偉,李景林
新疆氣象局 新疆興農(nóng)網(wǎng)信息中心,新疆 烏魯木齊 830002
摘要: 數(shù)字圖片在人們生活中越來越普遍,隨時隨地拍照即可,已經(jīng)成為人們生活中很重要的一部分,同時對圖片處理的需求也越來越多。如何更好地處理圖片,已經(jīng)成為更多相關(guān)研究的重點。總結(jié)了一些常見的圖片處理算法及相關(guān)圖片處理軟件,方便大家借鑒及應(yīng)用。
Abstract:
Key words :

  摘  要: 數(shù)字圖片在人們生活中越來越普遍,隨時隨地拍照即可,已經(jīng)成為人們生活中很重要的一部分,同時對圖片處理的需求也越來越多。如何更好地處理圖片,已經(jīng)成為更多相關(guān)研究的重點。總結(jié)了一些常見的圖片處理算法及相關(guān)圖片處理軟件,方便大家借鑒及應(yīng)用。

  關(guān)鍵詞數(shù)字圖像圖像處理信息傳輸;圖像處理算法

0 引言

  隨著電子產(chǎn)品的快速進步,數(shù)字圖片在人們生活中越來越普遍,隨時隨地可以拍照,圖片處理的需求越來越普遍,不管用手機還是電腦,已經(jīng)成為人們生活很重要的一部分。

  目前圖片處理軟件特別多,各式各樣的,受不同用戶喜歡的。對于一般用戶,網(wǎng)絡(luò)上的圖片處理軟件夠用了。對于特殊用戶,想對圖片的精細度要求更高的相關(guān)研究人員,或需要其他特殊處理等,網(wǎng)絡(luò)上的處理軟件是遠遠不夠用的。這需要相關(guān)開發(fā)人員對不同人員的要求進行單獨處理。

1 相關(guān)研究及圖像處理軟件

  參考文獻[1]介紹了制作縮略圖、圖片加水印、顯示隨機圖像的過程實現(xiàn),但沒有具體實現(xiàn)過程和圖片顯示效果。參考文獻[2]中分析了基于最不顯著特征位替代(LSB)算法基本原理,并且對加密處理進行改進,加入輸入像素預(yù)測和邊界剩余信息分析壓縮,通過VC+和編譯平臺實現(xiàn)過程。參考文獻[3]主要研究如何將數(shù)字圖像轉(zhuǎn)換成色值矩陣的算法。

  圖像處理軟件是用于處理圖像信息的各種應(yīng)用軟件的總稱,專業(yè)的圖像處理軟件有Adobe的Photoshop系列;基于應(yīng)用的處理管理、處理軟件Picasa等,還有國內(nèi)很實用的大眾型軟件彩影,非主流軟件有美圖秀秀,動態(tài)圖片處理軟件有Ulead GIF Animator、gif movie gear等。

  以上都是現(xiàn)有軟件,功能固定,每一點的效果也是程序事先編程好的,如何做到隨心處理,精確到每一點像素,通過功能內(nèi)部處理圖片的變化呢?

  本文總結(jié)以下幾個圖片處理算法實例,詳細說明對同一幅圖片進行不同處理是如何變化其RGB值的。圖片點的處理精確到每一個點的RGB,對圖片處理要求達到精細。圖片不同的顯示效果可以根據(jù)自己的需求來調(diào)整。

  本文主要使用C#語言,對圖片的不同效果進行處理,使用的方法和調(diào)用的技術(shù)手段都不一樣。

2 本文算法

  下面是對某一圖片的初始定義:

  圖片寬度:int Pheight;獲取圖片寬度:int pwidth;圖片矩形:Rectangle rect;

  初始化Bitmap對象:Bitmap mybmp;內(nèi)存像素處理:BitmapData bmpdata;

  (1)底片效果相關(guān)核心算法

  算法的主要原理就是先獲得每一點的像素值,然后再用255取反顏色值重新賦值到對應(yīng)的點。

  if(curbmp==null){return;}

  unsafe{int offset=bmpdata.Stride-pwidth*3;

  byte*bptr=(byte*)(bmpdata.Scan0);

  for(intx=0;x<pwidth;x++)

  {for(inty=0;y<Pheight;y++)

  {  bptr[0]=(byte)(255-bptr[0]);bptr[1]=(byte)(255-bptr[1]);

  bptr[2]=(byte)(255-bptr[2]);bptr+=3;}bptr+=offset;}//用255取反

  curbmp.UnlockBits(bmpdata);}

  this.effectPicbox.Image=curbmp;

  (2)浮雕效果相關(guān)核心算法

  此算法的原理主要是獲得每一個像素的RGB值,再減去相鄰像素的RGB值,然后加128得到新的RGB值賦值給原像素點。主要核心算法如下:

  IntPtr ptr=mydata.Scan0;int pixels=Pwidth*Pheight*3;

  byte[]rgbValues=new byte[pixels];Marshal.Copy(ptr,rgbValues,0,pixels);

  int r=0,g=0,b=0;

  for(int i=0;i<pixels-6;i+=3)

  {r=Math.Abs(rgbValues[i+5]-rgbValues[i+2]+128);

  //相鄰像素R的值

  g=Math.Abs(rgbValues[i+4]-rgbValues[i+1]+128);

  b=Math.Abs(rgbValues[i+3]-rgbValues[i]+128);

  if(r>255)r=255;if(r<0)r=0;if(g>255)g=255;if(g<0)g=0;

  if(b>255)b=255;if(b<0)b=0;

  rgbValues[i]=(byte)b;rgbValues[i+1]=(byte)g;rgbValues[i+2]=(byte)r;}

  Marshal.Copy(rgbValues,0,ptr,pixels);mybmp.UnlockBits(mydata);

  this.effectPicbox.Image=mybmp;

  (3)黑白效果相關(guān)核心算法

  將彩色數(shù)字圖片處理成黑白效果通常有3種算法:

  ①最大值法:將每一個像素點的R、G、B中3個值等于其中的最大值。

  ②平均值法:將每一個像素點的R、G、B值等于原3個R、G、B值的平均值。

  ③加權(quán)平均值法:對每一個像素點的R、G、B值進行加權(quán)。

  本文主要采用第3種加權(quán)平均值的算法主要的算法原理如下:首先獲取每一點的RGB值,分別對每一個像素RGB賦不同的權(quán)值,賦給臨時變量,然后獲得的臨時變量得到的值賦給原像素的RGB值,且RGB 3個值是相同的。

  IntPtr ptr=mydata.Scan0;int bytes=pwidth*Pheight*3;byte[]rgbValues=new byte[bytes];

  Marshal.Copy(ptr,rgbValues,0,bytes);byte temp=0;

  for(int i=0;i<bytes-3;i+=3)

  {temp=(byte)(rgbValues[i+2]*.58+rgbValues[i+1]*.22+rgbValues[i]*0.1);

  rgbValues[i]=rgbValues[i+1]=rgbValues[i+2]=temp;}

  //賦值

  Marshal.Copy(rgbValues,0,ptr,bytes);mybmp.UnlockBits(mydata);

  this.effectPicbox.Image=mybmp;}

  catch(System.ArgumentException e){MessageBox.Show(e.ToString());}

  (4)柔化效果相關(guān)核心算法

  原理:利用高斯模板,將其每個像素點進行平滑處理,當(dāng)前像素顏色值差距較大的像素和周圍像素取平均值來進行平滑處理,整個圖片變得很柔和。

  int offset=bmpdata.Stride-pwidth*3;

  unsafe{byte*ptr=(byte*)bmpdata.Scan0;//地址指針

  int[]Gauss={1,2,1,2,4,2,1,2,1};//高斯模板

  try{ptr+=bmpdata.Stride+3;

  for(inti=1;i<pwidth-1;i++)

  {for(intj=1;j<Pheight-1;j++)

  {int r=0,g=0,b=0;int index=0;

  for(int col=-1;col<=1;col++)

  {for(int row=-1;row<=1;row++)

  {byte*temp=ptr;temp=ptr+bmpdata.Stride*row+col*3;

  r+=temp[2]*Gauss[index];g+=temp[1]*Gauss[index];b+=temp[0]*Gauss[index];

  index++;}}

  r/=16;g/=16;b/=16;if(r>255)r=255;if(r<0)r=0;if(g>255)g=255;

  if(g<0)g=0;if(b>255)b=255;//邊緣值的處理

  if(b<0)b=0;

  (ptr-bmpdata.Stride-3)[2]=(byte)r;(ptr-bmpdata.Stride-3)[1]=(byte)g;

  (ptr-bmpdata.Stride-3)[0]=(byte)b;ptr+=3;}ptr+=offset;}}

  catch(System.Exception e){MessageBox.Show(e.ToString());}}

  mybmp.UnlockBits(bmpdata);this.effectPicbox.Image=mybmp;

  (5)銳化效果相關(guān)核心算法

  該算法的原理與上面的柔和主要核心代碼差不多,但主要處理點不一樣,此算法主要是利用拉普拉斯模版,突出顏色值比較大的像素點。核心代碼不同處如下:

  int[]Laplacian={-1,-1,-1,-1,9,-1,-1,-1,-1};

  //拉普拉斯模板

  r+=temp[2]*Laplacian[index];g+=temp[1]*Laplacian[index];b+=temp[0]*Laplacian[index];index++;}}

3 實驗結(jié)果

  圖1~圖6為實驗效果圖。

Image 007.png

  通過上面圖片的效果可以看出,本文算法是真實有效的、可實施的。

4 結(jié)論

  本文將常見的圖片效果及相應(yīng)的算法顯示出來,通過相應(yīng)的算法及實驗結(jié)果可證明算法是可實施的。

  現(xiàn)實中圖片處理算法遠不止這些,這里不再一一列舉,本文列舉一些常見圖片處理算法的處理,供大家借鑒使用。其他圖片處理算法主要原理也是在圖片像素點上處理著手,可根據(jù)自己的想法,將圖片處理成更多效果。

  圖片處理多種多樣,視覺效果要求也千差萬別,隨著網(wǎng)絡(luò)的發(fā)展將不斷優(yōu)化算法使其更加合理地應(yīng)用。

參考文獻

  [1] 王濤.ASP動態(tài)網(wǎng)頁圖片的處理[J].佳木斯大學(xué)學(xué)報(自然科學(xué)版),2005,23(2):229-232.

  [2] 余靜,馬博.基于LSB圖像水印加密技術(shù)改進及實現(xiàn)[J].煤炭技術(shù),2010,29(2):180-182.

  [3] 張祖蓮,王命全,李景林.基于圖像色值轉(zhuǎn)換算法[J].微型機與應(yīng)用,2014,33(14):36-37.

  [4] 王命全,張祖蓮,李景林.防Web攻擊的登錄窗口程序設(shè)計[J].微型機與應(yīng)用,2014,33(5):5-7.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
伊人久久综合| 99热精品在线观看| 欧美午夜宅男影院在线观看| 欧美电影免费| 麻豆国产精品777777在线| 欧美专区在线| 欧美亚洲一区二区在线观看| 亚洲中午字幕| 亚洲香蕉视频| 亚洲影院一区| 亚洲欧美日韩综合国产aⅴ| 亚洲一区亚洲二区| 亚洲一区二区三区中文字幕在线| 在线一区观看| 亚洲午夜一二三区视频| 亚洲自拍另类| 午夜精品在线观看| 欧美一区二区三区四区高清 | 久久av一区二区三区漫画| 午夜天堂精品久久久久 | 久久国产精品久久久久久久久久 | 久久黄色级2电影| 久久国产黑丝| 久久亚洲私人国产精品va媚药| 久久亚洲综合色| 欧美成人伊人久久综合网| 欧美精品黄色| 国产精品video| 国产精品人成在线观看免费 | 久久久999精品| 亚洲精品久久久久中文字幕欢迎你 | 国产欧美韩日| 国精品一区二区三区| 狠狠综合久久av一区二区小说| 尤物在线观看一区| 亚洲欧洲综合另类在线| 夜夜爽99久久国产综合精品女不卡| 一区二区欧美在线观看| 亚洲一区二区不卡免费| 羞羞漫画18久久大片| 亚洲大片av| 99国产精品久久久久久久成人热| 亚洲一区国产视频| 久久国产一区| 欧美国产一区二区| 国产精品乱码| 雨宫琴音一区二区在线| 亚洲欧洲精品天堂一级| 在线亚洲一区| 久久精品视频va| 99视频精品| 欧美在线免费一级片| 老牛国产精品一区的观看方式| 欧美精品偷拍| 国产视频在线观看一区| 亚洲国产精品久久人人爱蜜臀| 中文成人激情娱乐网| 欧美主播一区二区三区美女 久久精品人 | 毛片一区二区三区| 欧美视频中文字幕| 国内伊人久久久久久网站视频| 91久久久久久久久久久久久| 亚洲综合视频1区| 最近中文字幕日韩精品| 亚洲一区中文| 久久综合婷婷| 国产精品久久久久久久久免费| 伊人婷婷欧美激情| 亚洲午夜一二三区视频| 亚洲黄网站在线观看| 亚洲欧美中日韩| 欧美大香线蕉线伊人久久国产精品| 国产精品久久777777毛茸茸| 亚洲第一视频网站| 中文国产一区| 亚洲久色影视| 久久久人成影片一区二区三区观看| 欧美日韩国产在线一区| 国产在线国偷精品产拍免费yy| 亚洲每日更新| 亚洲欧洲精品天堂一级| 性欧美激情精品| 欧美女激情福利| 极品日韩久久| 欧美一区成人| 亚洲专区欧美专区| 欧美—级高清免费播放| 韩国成人福利片在线播放| 亚洲尤物在线| 亚洲在线观看免费视频| 欧美精品亚洲精品| 1000精品久久久久久久久| 亚洲欧美在线播放| 亚洲欧美国产精品va在线观看| 欧美理论在线播放| 亚洲国产另类精品专区| 久久精品日韩欧美| 久久av资源网| 国产农村妇女毛片精品久久莱园子 | 亚洲欧美中文日韩在线| 欧美日韩国产影院| 91久久精品一区| 亚洲日本va午夜在线影院| 久久精品主播| 国产亚洲精品7777| 午夜国产精品影院在线观看| 亚洲欧美在线看| 国产精品久久夜| 宅男在线国产精品| 宅男噜噜噜66一区二区66| 欧美精品在线一区二区| 亚洲精品乱码久久久久久蜜桃91 | 亚洲一区制服诱惑| 亚洲欧美视频一区| 国产精品国产| 亚洲素人在线| 一区二区三区www| 欧美视频一区二区三区…| 亚洲精品久久久久久久久久久久久 | 91久久精品国产91久久性色tv| 久久看片网站| 极品日韩av| 91久久精品国产91久久性色| 欧美成人精品不卡视频在线观看| 在线观看91精品国产麻豆| 亚洲欧洲精品成人久久奇米网| 老司机午夜精品视频在线观看| 欲色影视综合吧| 亚洲欧洲偷拍精品| 欧美激情视频在线免费观看 欧美视频免费一 | 一本久道久久久| 欧美丝袜一区二区三区| 一本一道久久综合狠狠老精东影业| 一区二区三区|亚洲午夜| 欧美日韩三区| 亚洲手机视频| 久久精品国产69国产精品亚洲| 国产一区二区精品在线观看| 久久精品国产清高在天天线| 麻豆精品一区二区av白丝在线| 亚洲第一主播视频| 亚洲毛片av| 欧美调教vk| 亚洲欧美自拍偷拍| 久热综合在线亚洲精品| 亚洲国产日韩欧美在线动漫| 一区二区欧美日韩| 国产精品美女一区二区在线观看 | 99精品视频免费| 欧美午夜视频在线观看| 亚洲欧美在线高清| 久久综合色8888| 亚洲茄子视频| 亚洲综合日韩中文字幕v在线| 国产麻豆91精品| 亚洲经典在线| 欧美色一级片| 欧美一区国产一区| 欧美精品一线| 午夜精品久久久久| 欧美成人资源| 亚洲一级网站| 久久综合导航| 9l国产精品久久久久麻豆| 久久爱www久久做| 最近看过的日韩成人| 午夜免费电影一区在线观看| 伊人成人开心激情综合网| 亚洲视频axxx| 国内偷自视频区视频综合| 99国产精品99久久久久久粉嫩| 国产精品私房写真福利视频| 久久精品日产第一区二区| 欧美日韩亚洲视频| 久久aⅴ国产紧身牛仔裤| 欧美日韩视频一区二区| 欧美在线一级va免费观看| 欧美日韩国产综合一区二区| 欧美在线观看视频在线 | 亚洲国产精品va在看黑人| 亚洲在线视频免费观看| 伊人色综合久久天天| 亚洲中无吗在线| 亚洲高清视频在线观看| 亚洲欧美国产精品桃花| 亚洲国产一区二区三区高清 | 久久久一本精品99久久精品66| 日韩图片一区| 蜜桃久久av一区| 午夜精品亚洲一区二区三区嫩草| 欧美精品二区| 久久精品首页| 国产精品一区二区三区久久久| 日韩亚洲精品视频| 国内揄拍国内精品少妇国语| 亚洲在线免费视频| 亚洲人成欧美中文字幕| 久久精品免费| 国产精品99久久久久久宅男| 欧美a级一区二区|