成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實現C#馬賽克算法

開發 后端 算法
本文介紹C#馬賽克算法很簡單,說白了就是把一張圖片分割成若干個val * val像素的小區塊,每個小區塊的顏色都是相同的。

應聽眾點播要求,今天講講C#馬賽克算法的實現。老規矩,不求甚解,只許看不許問為什么

很多圖片處理的算法從原理上講其實非常簡單,難點往往在如何去寫算法實現它,更加難的就是如何去優化實現的算法。雖說我一向認為程序員的效率比程序的效率更重要,但為了等處理一張自己拍攝的數碼照片,溜出去買杯奶茶順便再買張彩票回來發現還沒算好,無論如何都是不能忍受的。

C#馬賽克算法很簡單,說白了就是把一張圖片分割成若干個val * val像素的小區塊(可能在邊緣有零星的小塊,但不影響整體算法),每個小區塊的顏色都是相同的。為了方便起見,我們不妨讓這個顏色就用該區域最左上角的那個點的顏色。當然還可以有其他方法,比如取區塊中間點的顏色,或區塊中隨機點的顏色作代表等等。

下面的示意圖就是取val=2的結果。

原圖像素
ABCDEFG
HIJKLMN  
OPQRSTU  
VWXYZ01  
2345678  

馬賽克處理后
AACCEEG
AACCEEG
OOQQSSU
OOQQSSU
2244668

原理就是那么簡單。具體實現就看各人的思維習慣了。我的想法是:

當y(當前高度)是val的整數倍時:
 掃描當前行中的每一點x,如果x也是val的整數倍,記錄下當前x,y的顏色值;如果x不是val的整數倍,則沿用最近一次被記錄的顏色值。
當y不是val的整數倍:
 很簡單,直接復制上一行。

簡單的說就是以線帶面,最終實現讓大家都看不清楚

下面就是源代碼。寫算法不是我的強項,不過偶爾勉為其難的寫個可以跑跑的不求甚解版還是可以做到的,不指望可以幫到你,只希望沒有誤導你。

  1. publicstaticBitmapKiMosaic(Bitmapb,intval)  
  2. {  
  3. if(b.Equals(null))  
  4. {  
  5. returnnull;  
  6. }  
  7. intw=b.Width;  
  8. inth=b.Height;  
  9. intstdR,stdG,stdB;  
  10. stdR=0;  
  11. stdG=0;  
  12. stdB=0;  
  13. BitmapDatasrcData=b.LockBits(newRectangle(0,0,w,h),
    ImageLockMode.ReadWrite,PixelFormat.Format24bppRgb);  
  14. unsafe  
  15. {  
  16. byte*p=(byte*)srcData.Scan0.ToPointer();  
  17. for(inty=0;y<h;y++)  
  18. {  
  19. for(intx=0;x<w;x++)  
  20. {  
  21. if(y%val==0)  
  22. {  
  23. if(x%val==0)  
  24. {  
  25. stdR=p[2];stdG=p[1];stdB=p[0];  
  26. }  
  27. else  
  28. {  
  29. p[0]=(byte)stdB;  
  30. p[1]=(byte)stdG;  
  31. p[2]=(byte)stdR;  
  32. }  
  33. }  
  34. else  
  35. {  
  36. //復制上一行  
  37. byte*ppTemp=p-srcData.Stride;  
  38. p[0]=(byte)pTemp[0];  
  39. p[1]=(byte)pTemp[1];  
  40. p[2]=(byte)pTemp[2];  
  41. }  
  42. p+=3;  
  43. }//endofx  
  44. p+=srcData.Stride-w*3;  
  45. }//endofy  
  46. b.UnlockBits(srcData);  
  47. }  
  48. returnb;  

以上介紹C#馬賽克算法

【編輯推薦】

  1. 淺析C# ArrayList
  2. C#對象初始化學習總結
  3. 使用C#正則表達式匹配相關字符串
  4. C#改寫方法學習筆記
  5. 概述C#加框和消框
責任編輯:佚名 來源: 博客園
相關推薦

2022-09-07 08:37:34

DCGAN圖片AI

2020-12-09 14:18:46

AI 技術馬賽克

2018-07-03 08:50:12

人工智能深度學習CNN

2015-04-30 10:29:32

WOC視頻會議優化方案深信服

2021-02-24 10:19:43

人工智能馬賽克

2020-12-02 15:07:23

算法開源AI

2021-05-31 10:30:46

密碼馬賽克工具

2018-09-12 16:30:45

Python編程語言馬賽克畫

2020-06-18 11:10:16

AI人工智能神經網絡

2023-11-22 11:20:38

2011-08-18 15:56:03

深信服廣域網優化

2012-05-25 14:41:19

JavaScript

2021-02-24 11:25:44

人工智能AI算法馬賽克

2021-03-01 11:37:31

人工智能PULSE

2021-01-04 05:36:23

AI人工智能深度學習

2012-03-16 16:33:35

視頻會議馬賽克深信服

2024-07-29 08:43:57

2015-10-15 17:31:14

微軟

2020-05-07 11:03:32

AI 馬賽克工具

2017-02-10 18:13:46

谷歌大腦人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜a√| 日韩在线免费电影 | 国产日韩欧美在线 | 国产乱码精品一品二品 | 中文字幕国产视频 | 国产成人一区二区三区久久久 | 国产精品久久久亚洲 | 国产一区久久精品 | 精品国产一区二区三区久久 | 在线观看h视频 | 91精品国产91久久久久久丝袜 | 欧美v日韩| 毛片com| 国产视频久 | 国产欧美精品一区二区色综合朱莉 | 日韩不卡在线 | 亚洲欧美在线观看 | 视频一区在线 | 中文无吗 | 免费国产视频 | 夜久久| 国产精品久久久久999 | 欧美日韩亚 | 欧美成人性生活 | 99久久影院| 亚洲性在线 | 免费观看成人性生生活片 | 国产麻豆乱码精品一区二区三区 | 精品国产乱码久久久久久丨区2区 | www久久爱 | 国产高清精品在线 | www国产成人免费观看视频,深夜成人网 | 国产成人久久av免费高清密臂 | 欧美九九九 | 国产目拍亚洲精品99久久精品 | 国产一级片一区二区 | 日本一二区视频 | www.性色| 国内91在线 | 国产精品高潮呻吟 | 中文字幕一区在线观看视频 |