【OpenCV3.1 第5篇】 相关操作: mean、clone、zeros、circle、cvtColor、meanStdDev、split
2016-09-27 21:08
519 查看
mean();
计算 各通道选中区域(默认全图)的平均值。
示例:
clone
复制图像
示例:
zeros
创建一张黑(全0)图
示例:
circle
示例:
cvtColor
颜色空间转换
code 为转换类型,最常用的:CV_BGR2GRAY
示例:
下面为所有转换类型
所有转换类型
meanStdDev
求各通道平均值,平均标准差
示例:
关于mask参数,参考文档:探讨opencv函数中的mask的作用
split
将图像各通道分离开
示例:
这段代码对图像进行了2值化
计算 各通道选中区域(默认全图)的平均值。
//! computes mean value of selected array elements CV_EXPORTS_W Scalar mean(InputArray src, InputArray mask=noArray());
示例:
cv::Scalar meanVal = mean(srcImage); double avg; if (srcImage.channels() == 1) { avg = meanVal[0]; } if (srcImage.channels() == 3) { avg = (meanVal[0] + meanVal[1] + meanVal[2]) / 3; }
clone
复制图像
示例:
Mat image = srcImg.clone();
zeros
创建一张黑(全0)图
示例:
Mat temp1ch = Mat::zeros(srcImg.size(), CV_8UC1); Mat temp3ch = Mat::zeros(srcImg.size(), CV_8UC3);
circle
//! draws the circle outline or a solid circle in the image CV_EXPORTS_W void circle(CV_IN_OUT Mat& img, Point center, int radius, const Scalar& color, int thickness=1, int lineType=8, int shift=0);
示例:
circle(temp1ch, Point(temp1ch.cols / 2, temp1ch.rows / 2), radius, Scalar(255), CV_FILLED); circle(temp3ch, Point(temp3ch.cols / 2, temp3ch.rows / 2), radius, Scalar(255, 255, 255), CV_FILLED);
cvtColor
颜色空间转换
//! converts image from one color space to another CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn=0 );
code 为转换类型,最常用的:CV_BGR2GRAY
示例:
Mat grayImg; cvtColor(image, grayImg, CV_BGR2GRAY);
下面为所有转换类型
enum { CV_BGR2BGRA =0, CV_RGB2RGBA =CV_BGR2BGRA, CV_BGRA2BGR =1, CV_RGBA2RGB =CV_BGRA2BGR, CV_BGR2RGBA =2, CV_RGB2BGRA =CV_BGR2RGBA, CV_RGBA2BGR =3, CV_BGRA2RGB =CV_RGBA2BGR, CV_BGR2RGB =4, CV_RGB2BGR =CV_BGR2RGB, CV_BGRA2RGBA =5, CV_RGBA2BGRA =CV_BGRA2RGBA, CV_BGR2GRAY =6, CV_RGB2GRAY =7, CV_GRAY2BGR =8, CV_GRAY2RGB =CV_GRAY2BGR, CV_GRAY2BGRA =9, CV_GRAY2RGBA =CV_GRAY2BGRA, CV_BGRA2GRAY =10, CV_RGBA2GRAY =11, CV_BGR2BGR565 =12, CV_RGB2BGR565 =13, CV_BGR5652BGR =14, CV_BGR5652RGB =15, CV_BGRA2BGR565 =16, CV_RGBA2BGR565 =17, CV_BGR5652BGRA =18, CV_BGR5652RGBA =19, CV_GRAY2BGR565 =20, CV_BGR5652GRAY =21, CV_BGR2BGR555 =22, CV_RGB2BGR555 =23, CV_BGR5552BGR =24, CV_BGR5552RGB =25, CV_BGRA2BGR555 =26, CV_RGBA2BGR555 =27, CV_BGR5552BGRA =28, CV_BGR5552RGBA =29, CV_GRAY2BGR555 =30, CV_BGR5552GRAY =31, CV_BGR2XYZ =32, CV_RGB2XYZ =33, CV_XYZ2BGR =34, CV_XYZ2RGB =35, CV_BGR2YCrCb =36, CV_RGB2YCrCb =37, CV_YCrCb2BGR =38, CV_YCrCb2RGB =39, CV_BGR2HSV =40, CV_RGB2HSV =41, CV_BGR2Lab =44, CV_RGB2Lab =45, CV_BayerBG2BGR =46, CV_BayerGB2BGR =47, CV_BayerRG2BGR =48, CV_BayerGR2BGR =49, CV_BayerBG2RGB =CV_BayerRG2BGR, CV_BayerGB2RGB =CV_BayerGR2BGR, CV_BayerRG2RGB =CV_BayerBG2BGR, CV_BayerGR2RGB =CV_BayerGB2BGR, CV_BGR2Luv =50, CV_RGB2Luv =51, CV_BGR2HLS =52, CV_RGB2HLS =53, CV_HSV2BGR =54, CV_HSV2RGB =55, CV_Lab2BGR =56, CV_Lab2RGB =57, CV_Luv2BGR =58, CV_Luv2RGB =59, CV_HLS2BGR =60, CV_HLS2RGB =61, CV_BayerBG2BGR_VNG =62, CV_BayerGB2BGR_VNG =63, CV_BayerRG2BGR_VNG =64, CV_BayerGR2BGR_VNG =65, CV_BayerBG2RGB_VNG =CV_BayerRG2BGR_VNG, CV_BayerGB2RGB_VNG =CV_BayerGR2BGR_VNG, CV_BayerRG2RGB_VNG =CV_BayerBG2BGR_VNG, CV_BayerGR2RGB_VNG =CV_BayerGB2BGR_VNG, CV_BGR2HSV_FULL = 66, CV_RGB2HSV_FULL = 67, CV_BGR2HLS_FULL = 68, CV_RGB2HLS_FULL = 69, CV_HSV2BGR_FULL = 70, CV_HSV2RGB_FULL = 71, CV_HLS2BGR_FULL = 72, CV_HLS2RGB_FULL = 73, CV_LBGR2Lab = 74, CV_LRGB2Lab = 75, CV_LBGR2Luv = 76, CV_LRGB2Luv = 77, CV_Lab2LBGR = 78, CV_Lab2LRGB = 79, CV_Luv2LBGR = 80, CV_Luv2LRGB = 81, CV_BGR2YUV = 82, CV_RGB2YUV = 83, CV_YUV2BGR = 84, CV_YUV2RGB = 85, CV_BayerBG2GRAY = 86, CV_BayerGB2GRAY = 87, CV_BayerRG2GRAY = 88, CV_BayerGR2GRAY = 89, //YUV 4:2:0 formats family CV_YUV2RGB_NV12 = 90, CV_YUV2BGR_NV12 = 91, CV_YUV2RGB_NV21 = 92, CV_YUV2BGR_NV21 = 93, CV_YUV420sp2RGB = CV_YUV2RGB_NV21, CV_YUV420sp2BGR = CV_YUV2BGR_NV21, CV_YUV2RGBA_NV12 = 94, CV_YUV2BGRA_NV12 = 95, CV_YUV2RGBA_NV21 = 96, CV_YUV2BGRA_NV21 = 97, CV_YUV420sp2RGBA = CV_YUV2RGBA_NV21, CV_YUV420sp2BGRA = CV_YUV2BGRA_NV21, CV_YUV2RGB_YV12 = 98, CV_YUV2BGR_YV12 = 99, CV_YUV2RGB_IYUV = 100, CV_YUV2BGR_IYUV = 101, CV_YUV2RGB_I420 = CV_YUV2RGB_IYUV, CV_YUV2BGR_I420 = CV_YUV2BGR_IYUV, CV_YUV420p2RGB = CV_YUV2RGB_YV12, CV_YUV420p2BGR = CV_YUV2BGR_YV12, CV_YUV2RGBA_YV12 = 102, CV_YUV2BGRA_YV12 = 103, CV_YUV2RGBA_IYUV = 104, CV_YUV2BGRA_IYUV = 105, CV_YUV2RGBA_I420 = CV_YUV2RGBA_IYUV, CV_YUV2BGRA_I420 = CV_YUV2BGRA_IYUV, CV_YUV420p2RGBA = CV_YUV2RGBA_YV12, CV_YUV420p2BGRA = CV_YUV2BGRA_YV12, CV_YUV2GRAY_420 = 106, CV_YUV2GRAY_NV21 = CV_YUV2GRAY_420, CV_YUV2GRAY_NV12 = CV_YUV2GRAY_420, CV_YUV2GRAY_YV12 = CV_YUV2GRAY_420, CV_YUV2GRAY_IYUV = CV_YUV2GRAY_420, CV_YUV2GRAY_I420 = CV_YUV2GRAY_420, CV_YUV420sp2GRAY = CV_YUV2GRAY_420, CV_YUV420p2GRAY = CV_YUV2GRAY_420, //YUV 4:2:2 formats family CV_YUV2RGB_UYVY = 107, CV_YUV2BGR_UYVY = 108, //CV_YUV2RGB_VYUY = 109, //CV_YUV2BGR_VYUY = 110, CV_YUV2RGB_Y422 = CV_YUV2RGB_UYVY, CV_YUV2BGR_Y422 = CV_YUV2BGR_UYVY, CV_YUV2RGB_UYNV = CV_YUV2RGB_UYVY, CV_YUV2BGR_UYNV = CV_YUV2BGR_UYVY, CV_YUV2RGBA_UYVY = 111, CV_YUV2BGRA_UYVY = 112, //CV_YUV2RGBA_VYUY = 113, //CV_YUV2BGRA_VYUY = 114, CV_YUV2RGBA_Y422 = CV_YUV2RGBA_UYVY, CV_YUV2BGRA_Y422 = CV_YUV2BGRA_UYVY, CV_YUV2RGBA_UYNV = CV_YUV2RGBA_UYVY, CV_YUV2BGRA_UYNV = CV_YUV2BGRA_UYVY, CV_YUV2RGB_YUY2 = 115, CV_YUV2BGR_YUY2 = 116, CV_YUV2RGB_YVYU = 117, CV_YUV2BGR_YVYU = 118, CV_YUV2RGB_YUYV = CV_YUV2RGB_YUY2, CV_YUV2BGR_YUYV = CV_YUV2BGR_YUY2, CV_YUV2RGB_YUNV = CV_YUV2RGB_YUY2, CV_YUV2BGR_YUNV = CV_YUV2BGR_YUY2, CV_YUV2RGBA_YUY2 = 119, CV_YUV2BGRA_YUY2 = 120, CV_YUV2RGBA_YVYU = 121, CV_YUV2BGRA_YVYU = 122, CV_YUV2RGBA_YUYV = CV_YUV2RGBA_YUY2, CV_YUV2BGRA_YUYV = CV_YUV2BGRA_YUY2, CV_YUV2RGBA_YUNV = CV_YUV2RGBA_YUY2, CV_YUV2BGRA_YUNV = CV_YUV2BGRA_YUY2, CV_YUV2GRAY_UYVY = 123, CV_YUV2GRAY_YUY2 = 124, //CV_YUV2GRAY_VYUY = CV_YUV2GRAY_UYVY, CV_YUV2GRAY_Y422 = CV_YUV2GRAY_UYVY, CV_YUV2GRAY_UYNV = CV_YUV2GRAY_UYVY, CV_YUV2GRAY_YVYU = CV_YUV2GRAY_YUY2, CV_YUV2GRAY_YUYV = CV_YUV2GRAY_YUY2, CV_YUV2GRAY_YUNV = CV_YUV2GRAY_YUY2, // alpha premultiplication CV_RGBA2mRGBA = 125, CV_mRGBA2RGBA = 126, CV_RGB2YUV_I420 = 127, CV_BGR2YUV_I420 = 128, CV_RGB2YUV_IYUV = CV_RGB2YUV_I420, CV_BGR2YUV_IYUV = CV_BGR2YUV_I420, CV_RGBA2YUV_I420 = 129, CV_BGRA2YUV_I420 = 130, CV_RGBA2YUV_IYUV = CV_RGBA2YUV_I420, CV_BGRA2YUV_IYUV = CV_BGRA2YUV_I420, CV_RGB2YUV_YV12 = 131, CV_BGR2YUV_YV12 = 132, CV_RGBA2YUV_YV12 = 133, CV_BGRA2YUV_YV12 = 134, CV_COLORCVT_MAX = 135 };
所有转换类型
meanStdDev
求各通道平均值,平均标准差
//! computes mean value and standard deviation of all or selected array elements CV_EXPORTS_W void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, InputArray mask=noArray());
示例:
meanStdDev(image, meanVal, stddevVal, temp1ch);
关于mask参数,参考文档:探讨opencv函数中的mask的作用
split
将图像各通道分离开
示例:
meanStdDev(image, meanVal, stddevVal, temp1ch); vector<Mat>bgrImgs; split(image, bgrImgs); Mat b = (bgrImgs[0] - meanVal[0]) > stddevVal[0]; Mat g = (bgrImgs[1] - meanVal[1]) > stddevVal[1]; Mat r = (bgrImgs[2] - meanVal[2]) > stddevVal[2]; Mat bgrBin = b | g | r;
这段代码对图像进行了2值化
相关文章推荐
- opencv blur cvtColor split inRange bitwise_and blur clone
- opencv︱图像的色彩空間cvtColor(HSV、HSL、HSB )及相关色彩学
- opencv 中函数的一相关说明,如:cvtColor和cvCvtColor区别
- Opencv学习笔记(七):腐蚀,膨胀,开操作,闭操作及其他相关的形态学操作
- Matlab colorbar相关操作
- opencv的cvCvtColor问题
- [OpenCV] GpuMat and Mat, compare cvtColor perforemence
- [OpenCV] GpuMat and Mat, compare cvtColor perforemence
- opencv相关问题理解(4)直方图操作!!
- OpenCV3.0或OpenCV3.1的SVM操作
- OpenCV图片矩阵操作相关,对png图片操作(多通道)
- opencv resize/cvtcolor
- openCV--颜色空间转换函数cvCvtColor
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
- opencv split和merge操作
- 【OpenCV】 split和merge操作
- 【OpenCV学习笔记】【函数学习】五(颜色空间转换cvCvtColor()函数)
- OpenCV中Mat操作clone() 与copyto()的区别
- OpenCV的颜色空间转换函数 cvtColor
- OpenCV学习:将图像转为二值图像(函数cvtColor和函数threshold)