OpenCvSharp 学习笔记6 --图像亮度和对比度调整
生活随笔
收集整理的這篇文章主要介紹了
OpenCvSharp 学习笔记6 --图像亮度和对比度调整
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 理論:
圖像變換有兩種操作:
1:點操作 – 像素變換
2:區域操作 --鄰域像素操作,圖像周圍的像素操作
調整圖像亮度和對比度屬于像素變換的點操作。
g(x,y)=αf(x,y)+βg(x,y)=\alpha f(x,y) + \beta g(x,y)=αf(x,y)+β
其中系數α>0,β是增益值其中 系數 \alpha \gt0 , \beta 是增益值 其中系數α>0,β是增益值
說明:alpha值越大,像素之間的差值越大,對比度越強烈。 beta值是用于提高圖片亮度增益值
二 演示:
代碼:
static void Main(string[] args){string imagePath = @"C:\Users\whx\Desktop\opcvImage\m3.jpg";Funtion1(imagePath);} public static void Funtion1(string path){//讀入的圖像是RGB 但是像素順序是BGRusing (Mat src = Cv2.ImRead(path, ImreadModes.AnyColor | ImreadModes.AnyDepth))using (Mat dst = new Mat(src.Size(),src.Type())){int height = src.Rows;int width = src.Cols;int cn = src.Channels(); //通道數float alpha = 1.2f; //系數float beta = 60f; //增益for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){if(cn==1){float color = src.At<float>(row, col);dst.Set<float>(row, col, color);}else if(cn==3){Vec3b color = new Vec3b{Item0 = (byte)Saturate.Saturate_cast((src.At<Vec3b>(row, col).Item0) * alpha + beta), //BItem1 = (byte)Saturate.Saturate_cast((src.At<Vec3b>(row, col).Item1) * alpha + beta), //GItem2 = (byte)Saturate.Saturate_cast((src.At<Vec3b>(row, col).Item2) * alpha + beta) //R};//Vec3f:也可以 要轉換 src.ConvertTo(src, MatType.CV_32F); //轉換后 Vec3f float類型 C# 報錯 ,C++ 中可以//Vec3f color = new Vec3f//{// Item0 = Saturate.Saturate_cast((src.At<Vec3f>(row, col).Item0) * alpha + beta), //B// Item1 = Saturate.Saturate_cast((src.At<Vec3f>(row, col).Item1) * alpha + beta), //G// Item2 = Saturate.Saturate_cast((src.At<Vec3f>(row, col).Item2) * alpha + beta) //R//};dst.Set<Vec3b>(row, col, color);}}} using(new Window("dst Image",WindowMode.Normal,dst))using (new Window("src Image", WindowMode.Normal, src)){Cv2.WaitKey(0);}}}輸出結果:
對比度和亮度提高很明顯。
修改系數 和增益值 float alpha = 1f; float beta = 60f; 再次輸出圖像
float alpha = 1f; float beta = 60f 對比度沒有變化,亮度提高了。可以調整這兩個參數來達到預期的效果。
總結
以上是生活随笔為你收集整理的OpenCvSharp 学习笔记6 --图像亮度和对比度调整的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建筑室内设计与计算机应用,建筑室内设计与
- 下一篇: 《内网安全攻防:渗透测试实战指南》读书笔