學習OpenCV:濾鏡系列(12)——計算模式(強光)
【原文:http://blog.csdn.net/yangtrees/article/details/9206967】
==============================================
版權所有:小熊不去實驗室CSDN部落格
==============================================
R(上)>127.5
R=R(下)+(255-R(下))*(R(上)-127.5)/127.5;
R(上)<127.5
R=R(下)-R(下)*(127.5-R(上))/127.5=(R(上)*R(下))/127.5;
- #include <math.h>
- #include <opencv/cv.h>
- #include <opencv/highgui.h>
- using namespace cv;
- using namespace std;
- int R=11;
- int main()
- {
- Mat src = imread("D:/img/liushishi02.jpg",1);
- imshow("src",src);
- int width=src.cols;
- int heigh=src.rows;
- Mat img;
- src.copyTo(img);
- Mat dst(img.size(),CV_8UC3);
- Mat dst1u[3];
- float tmp,r;
- for (int y=0;y<heigh;y++)
- {
- uchar* imgP=img.ptr<uchar>(y);
- uchar* dstP=dst.ptr<uchar>(y);
- for (int x=0;x<width;x++)
- {
- r = (float)imgP[3*x];
- if(r>127.5)
- tmp = r+(255-r)*(r-127.5)/127.5;
- else
- tmp = r*r/127.5;
- tmp=tmp>255?255:tmp;
- tmp=tmp<0?0:tmp;
- dstP[3*x]=(uchar)(tmp);
- r = (float)imgP[3*x+1];
- if(r>127.5)
- tmp = r+(255-r)*(r-127.5)/127.5;
- else
- tmp = r*r/127.5;
- tmp=tmp>255?255:tmp;
- tmp=tmp<0?0:tmp;
- dstP[3*x+1]=(uchar)(tmp);
- r = (float)imgP[3*x+2];
- if(r>127.5)
- tmp = r+(255-r)*(r-127.5)/127.5;
- else
- tmp = r*r/127.5;
- tmp=tmp>255?255:tmp;
- tmp=tmp<0?0:tmp;
- dstP[3*x+2]=(uchar)(tmp);
- }
- }
- imshow("強光",dst);
- split(dst,dst1u);
- imshow("綠通道強光",dst1u[1]);
- waitKey();
- imwrite("D:/img/強光.jpg",dst);
- imwrite("D:/img/強光_藍通道.jpg",dst1u[0]);
- imwrite("D:/img/強光_綠通道.jpg",dst1u[1]);
- imwrite("D:/img/強光_紅通道.jpg",dst1u[2]);
- }
原圖:
計算強光:
紅通道:
綠通道:
藍通道:
相關文章
- OpenCV計算機視覺學習(4)——影像平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)OpenCV計算機視覺
- OpenCV計算機視覺學習(10)——影像變換(傅立葉變換,高通濾波,低通濾波)OpenCV計算機視覺
- Canvas系列之一——濾鏡效果Canvas
- 強大的濾鏡配置軟體
- 如何在 Mac 上使用藍光濾鏡?macOS 電腦如何開啟夜覽模式?Mac模式
- 設計模式系列 12– 職責鏈模式設計模式
- 影像濾鏡藝術----Brannan濾鏡NaN
- 有意思!強大的 SVG 濾鏡SVG
- OpenCV 例項解讀:深度學習的計算與加速OpenCV深度學習
- Knoll Light Factory Mac(Ae/Pr燈光工廠濾鏡)Mac
- 強化學習-學習筆記12 | Dueling Network強化學習筆記
- 強大的CSS:濾鏡和混合模式處理的圖片如何上傳下載?CSS模式
- opencv 學習OpenCV
- 人工智慧 (12) 強化學習人工智慧強化學習
- 美顏濾鏡SDK的智慧濾鏡與傳統顏色濾鏡有什麼區別?
- portraiture 3 mac - 最強ps人像美化磨皮濾鏡AIMac
- CSS濾鏡(filter)CSSFilter
- SVG <filter> 濾鏡SVGFilter
- 【opencv實戰】哈哈鏡OpenCV
- OpenCV計算機視覺學習(2)——影像算術運算 & 掩膜mask操作(數值計算,影像融合,邊界填充)OpenCV計算機視覺
- 計算機圖形學-線性過濾計算機
- portraiture 3 mac(強大的ps人像美化磨皮濾鏡)AIMac
- 基礎設計模式-03 從過濾器(Filter)校驗鏈學習職責鏈模式設計模式過濾器Filter
- 設計模式學習——代理模式設計模式
- DarkMode(4):css濾鏡 顏色反轉實現深色模式CSS模式
- 強化學習系列(1):簡介強化學習
- opencv入門系列教學(六)影像上的算術運算(加法、融合、按位運算)OpenCV
- OpenCV計算機視覺學習(15)——淺談影像處理的飽和運算和取模運算OpenCV計算機視覺
- Java設計模式-過濾器模式Java設計模式過濾器
- OpenCV 線性濾波OpenCV
- 美顏SDK濾鏡功能有哪些常用的濾鏡演算法演算法
- OpenCV計算機視覺學習(9)——影像直方圖 & 直方圖均衡化OpenCV計算機視覺直方圖
- 強大的ps人像美化磨皮濾鏡:Imagenomic portraiture 3 for psAI
- 設計模式-建立型模式學習設計模式
- 學習OpenCV:骨架提取OpenCV
- 學習OpenCV:hu矩OpenCV
- 半小時輕鬆玩轉WebGL濾鏡技術系列(一)Web
- 半小時輕鬆玩轉WebGL濾鏡技術系列(二)Web
- opencv計算曲線長度OpenCV