学习OpenCV:滤镜系列(14)——载入选区
2013-06-30 13:42
211 查看
==============================================
版权所有:小熊不去实验室CSDN博客
==============================================
载入选区就是在图像中选取高亮的部分
R=min(127.5,avg)
if(pix[x,y]>R)
dst[x,y]=255;
else
dst[x,y]=255;
原图:
载入选区:
红通道: 绿通道:
蓝通道:
版权所有:小熊不去实验室CSDN博客
==============================================
载入选区就是在图像中选取高亮的部分
R=min(127.5,avg)
if(pix[x,y]>R)
dst[x,y]=255;
else
dst[x,y]=255;
#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/arrow03.jpg",1); imshow("src",src); int width=src.cols; int heigh=src.rows; Mat img(heigh/2,width/2,CV_8UC3); resize(src,img,img.size()); Scalar avg=mean(src); Mat dst(img.size(),CV_8UC3); Mat mask1u[3]; float avg0 = avg[0]*2>127.5 ? 127.5:avg[0]*2; float avg1 = avg[1]*2>127.5 ? 127.5:avg[1]*2; float avg2 = avg[2]*2>127.5 ? 127.5:avg[2]*2; float tmp,r; for (int y=0;y<heigh/2;y++) { uchar* imgP=img.ptr<uchar>(y); uchar* dstP=dst.ptr<uchar>(y); for (int x=0;x<width/2;x++) { r = (float)imgP[3*x]; if(r>avg0) tmp = 255; else tmp = 0; dstP[3*x]=(uchar)(tmp); r = (float)imgP[3*x+1]; if(r>avg1) tmp = 255; else tmp = 0; dstP[3*x+1]=(uchar)(tmp); r = (float)imgP[3*x+2]; if(r>avg2) tmp = 255; else tmp = 0; dstP[3*x+2]=(uchar)(tmp); } } imshow("载入选区",dst); split(dst,mask1u); imshow("蓝通道选区",mask1u[0]); imshow("绿通道选区",mask1u[1]); imshow("红通道选区",mask1u[2]); waitKey(); //imwrite("D:/img/强光.jpg",dst); imwrite("D:/img/蓝通道选区.jpg",mask1u[0]); imwrite("D:/img/蓝通道选区.jpg",mask1u[1]); imwrite("D:/img/蓝通道选区.jpg",mask1u[2]); }
原图:
载入选区:
红通道: 绿通道:
蓝通道:
相关文章推荐
- 学习OpenCV:滤镜系列(14)——载入选区
- 学习OpenCV:滤镜系列(9)——扩散(毛玻璃)
- 学习OpenCV:滤镜系列(12)——计算模式(强光)
- 学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转
- 学习OpenCV:滤镜系列(6)——风
- 学习OpenCV:滤镜系列(10)——怀旧色 & 连环画 & 熔铸 & 冰冻
- 学习OpenCV:滤镜系列(13)——计算模式算法集合
- 学习OpenCV:滤镜系列(11)——高反差保留 (6.30修改版)
- 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
- 学习OpenCV:滤镜系列(8)——素描
- 高反差保留滤镜学习OpenCV:滤镜系列(11)——高反差保留
- 学习OpenCV:滤镜系列(1)—— 雕刻&浮雕
- 学习OpenCV:滤镜系列(2)——扩张&挤压
- 学习OpenCV:滤镜系列(4)——波浪:正弦
- 学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转
- 学习OpenCV:滤镜系列(6)——风
- 学习OpenCV:滤镜系列(3)——颜色变幻
- 学习OpenCV:滤镜系列(7)——漩涡
- 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
- 学习OpenCV:滤镜系列(8)——素描