写一段用c opencv threshold对图像进行分割,分割出我想要的部分
时间: 2024-03-03 08:53:35 浏览: 79
基于opencv的图像分割
5星 · 资源好评率100%
好的,使用 C 语言和 OpenCV 库进行图像分割的示例代码如下:
```c
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: %s <Image_Path>\n", argv[0]);
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
Mat gray_image;
cvtColor( image, gray_image, CV_BGR2GRAY );
// 我想要的部分的阈值范围为 100 ~ 200
int threshold_value = 100;
int threshold_type = THRESH_BINARY;
int max_value = 255;
threshold( gray_image, gray_image, threshold_value, max_value, threshold_type );
namedWindow( "Original Image", WINDOW_NORMAL );
namedWindow( "Thresholded Image", WINDOW_NORMAL );
imshow( "Original Image", image );
imshow( "Thresholded Image", gray_image );
waitKey(0);
return 0;
}
```
其中,`imread()` 函数用于读取图像,`cvtColor()` 函数用于将读入的图像转换为灰度图像,`threshold()` 函数用于进行阈值分割,`imshow()` 函数用于显示分割结果。
你可以根据实际需求,调整阈值范围和阈值类型,以得到你想要的分割结果。
阅读全文