找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
發表文章前請先閱讀相關版規尊貴會員無限下載附件安全提問(回答) 和 永久尊貴會員 事宜
三上悠亞fc2強姦ge 無碼ntr3dkkbox
unveilinge無碼天使垂死之光旧校舎のエリナと

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

在店內買個飲料也會出

桃園觀音文林路 女子

[繁]迷宮飯16-

[繁]無職轉生 第二季1

[繁]轉生貴族憑鑑定技

[繁]關於我轉生變成史
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 14067|回復: 6
打印上一主題下一主題

[原創]影像處理-調整圖片亮度(內有轉HSI公式)[複製鏈接]

帖子
275
積分
0 點
潛水值
16412 米
跳轉到指定樓層
樓主
發表於 2011-5-24 01:50 PM|只看該作者|倒序瀏覽
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
本帖最後由 KEIORL 於 2011-5-26 02:51 PM 編輯

很詭異 我包CODE好多次都沒辦法包=口=再失敗的話,請板主代勞吧...志不再得分在分享(笑
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Drawing.Imaging;

  10. namespace WindowsFormsApplication3
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }

  18.         private void button1_Click(object sender, EventArgs e)
  19.         {
  20.             OpenFileDialog dlgFile = new OpenFileDialog();
  21.             //dlgFile.InitialDirectory = ApplicationPath;
  22.             dlgFile.Filter = "Images (*.bmp,*.jpg,*.jpeg)|*.bmp;*.jpg;*.jpeg";
  23.             dlgFile.FilterIndex = 1;
  24.             if (dlgFile.ShowDialog() == DialogResult.OK)
  25.             {
  26.                 Bitmap bitmap = new Bitmap(dlgFile.FileName);
  27.                 pictureBox1.Image = bitmap;
  28.             }
  29.         }
  30.         private void trackBar1_Scroll(object sender, EventArgs e)
  31.         {
  32.             label1.Text = trackBar1.Value.ToString();
  33.             Bitmap bitmap = new Bitmap(pictureBox1.Image);
  34.             for (int x = 0; x < bitmap.Width; x++)
  35.             {
  36.                 for (int y = 0; y < bitmap.Height; y++)
  37.                 {
  38.                     Color color = bitmap.GetPixel(x, y);
  39.                     double r = color.R / 255.0;
  40.                     double g = color.G / 255.0;
  41.                     double b = color.B / 255.0;
  42.                     //RGB2HSB
  43.                     double CSon = (0.5 * (((r - g) + (r - b))));
  44.                     double CMon1 = Math.Pow(r - g, 2);
  45.                     double CMon2 = (r - b) * (g - b);
  46.                     double CMon = Math.Pow((CMon1 + CMon2), 0.5);
  47.                     double cos = Math.Acos((CSon / CMon)) * 180 / Math.PI;
  48.                     double h, s, i;
  49.                     if (b > g)
  50.                         h = 360 - cos;
  51.                     else
  52.                         h = cos;
  53.                     double s1 = (3.0 / (r + g + b));
  54.                     double s2 = Math.Min(Math.Min(r, g), b);
  55.                     s = 1 - s1 * s2;
  56.                     i = (r + b + g) / 3.0;
  57.                     i += trackBar1.Value / 255.0;

  58.                     //HSB2RGB
  59.                     double bb, rr, gg, AF, Son, Mon, AM;
  60.                     if (h >= 0 && h < 120)
  61.                     {
  62.                         Son = s * (Math.Cos(h / 180.0 * Math.PI));
  63.                         Mon = Math.Cos((60 - h) / 180.0 * Math.PI);
  64.                         AF = i * (1 - s);
  65.                         AM = i * (1 + (Son / Mon));

  66.                         bb = AF;
  67.                         rr = AM;
  68.                         gg = (3 * i) - (rr + bb);

  69.                         b = bb;
  70.                         r = rr;
  71.                         g = gg;
  72.                     }
  73.                     if (h >= 120 && h < 240)
  74.                     {
  75.                         h = h - 120;

  76.                         Son = s * (Math.Cos(h / 180.0 * Math.PI));
  77.                         Mon = Math.Cos((60 - h) / 180.0 * Math.PI);
  78.                         AF = i * (1 - s);
  79.                         AM = i * (1 + (Son / Mon));

  80.                         bb = AF;
  81.                         rr = AM;
  82.                         gg = (3 * i) - (rr + bb);

  83.                         b = gg;
  84.                         r = bb;
  85.                         g = rr;
  86.                     }
  87.                     if (h >= 240 && h < 360)
  88.                     {
  89.                         h = h - 240;
  90.                         Son = s * (Math.Cos(h / 180.0 * Math.PI));
  91.                         Mon = Math.Cos((60 - h) / 180.0 * Math.PI);
  92.                         AF = i * (1 - s);
  93.                         AM = i * (1 + (Son / Mon));

  94.                         bb = AF;
  95.                         rr = AM;
  96.                         gg = (3 * i) - (rr + bb);

  97.                         b = rr;
  98.                         r = gg;
  99.                         g = bb;
  100.                     }
  101.                     int R = (int)(r * 255);
  102.                     int G = (int)(g * 255);
  103.                     int B = (int)(b * 255);
  104.                     if (R > 255) R = 255;
  105.                     if (R < 0) R = 0;
  106.                     if (G > 255) G = 255;
  107.                     if (G < 0) G = 0;
  108.                     if (B > 255) B = 255;
  109.                     if (B < 0) B = 0;
  110.                     bitmap.SetPixel(x, y, Color.FromArgb(R, G, B));
  111.                 }
  112.             }
  113.             pictureBox2.Image = bitmap;
  114.         }
  115.     }

  116. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
分享分享0收藏收藏0支持支持0
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

Rank: 2Rank: 2

帖子
180
積分
248 點
潛水值
12233 米
頭香
發表於 2011-5-30 08:35 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
謝謝你的分享!還有,你包CODE成功了
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

qqqq211139 該用戶已被刪除
3
發表於 2011-7-5 03:06 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
提示: 該帖被管理員或版主屏蔽
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 2Rank: 2

帖子
304
積分
660 點
潛水值
13040 米
4
發表於 2012-8-28 09:34 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
哦!這個好玩.
原來C# 也可以寫影像處理的程式耶.
發現寶囉.
感謝樓主分享囉.還附上轉換公式原碼.
造褔我們這些新手,
感恩.
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

帖子
0
積分
0 點
潛水值
2930 米
5
發表於 2012-9-2 10:01 PM|只看該作者
不錯的範例,等要作圖型處理時就可以用到了,謝謝分享~




若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

帖子
0
積分
2 點
潛水值
90 米
6
發表於 2013-4-7 02:17 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
謝謝大大分享  小弟又能學習到了^^
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

帖子
218
積分
2 點
潛水值
4864 米
7
發表於 2013-4-27 10:19 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
謝謝大大分享  

此code非常實用^^
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部