1.读取灰度图像值
int gray_value = (int)image.at<uchar>(i, j);
//像素值遍历
for(int i = 0; i < obj.rows; i++)
{
for(int j = 0; j < obj.cols; j++)
{
image.at<uchar>(i, j) = 0;
}
}
2.读取彩色图像值
int color_value = (int)image.at<Vec3b>(i, j)[k];
#三个通道顺序为BGR
3.求取灰度图
V = 0.3R + 0.59G + 0.11B
4. 图像增强
- 直方图均衡
//图像通道切分:cv::split()
//图像通道融合:cv::merge()
- 图像锐化
void laplace_value(cv::Mat &src, cv::Mat &dst)
{
for(int i = 1; i < src.rows - 1; i++)
{
for(int j = 1; j < src.cols - 1; j++)
{
dst.at<uchar>(i, j) = src.at<uchar>(i + 1, j) + src.at<uchar>(i - 1, j)
+ src.at<uchar>(i, j - 1) + src.at<uchar>(i, j + 1)
- 4 * src.at<uchar>(i, j);
}
}
return 0;
}
//图像增强
void imageSharpen(const cv::Mat &image, cv::Mat &result)
{
}
网友评论