空间站建造阶段,qq小程序源码,做淘宝客建网站的好处是什么,营销型网站建设工资操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
cv::textureFlattening 是 OpenCV 中用于图像处理的一个函数#xff0c;旨在平滑图像中的纹理区域#xff0c;同时保留边缘信息。该技术特别适… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
cv::textureFlattening 是 OpenCV 中用于图像处理的一个函数旨在平滑图像中的纹理区域同时保留边缘信息。该技术特别适用于需要减少图像中噪声或不需要的细节但又想保持重要特征如边缘的应用场景。
通过仅保留边缘位置处的梯度然后与泊松求解器集成可以清除选定区域的纹理使其内容呈现平坦的外观。这里使用了Canny边缘检测器。
函数原型
void cv::textureFlattening
(InputArray src,InputArray mask,OutputArray dst,float low_threshold 30,float high_threshold 45,int kernel_size 3
) 参数
参数src 输入8位3通道图像。参数 mask 输入8位1或3通道图像。参数 dst 输出图像与src具有相同的大小和类型。参数 low_threshold 范围从0到100。参数 high_threshold 值大于100。参数 kernel_size 使用的Sobel核的大小。
代码示例
#include iostream
#include opencv2/opencv.hppusing namespace cv;
using namespace std;int main()
{// 加载输入图像Mat src imread( /media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg );if ( src.empty() ){cout 无法加载图像请检查文件名和路径。\n;return -1;}// 创建一个掩模选择整个图像进行处理Mat mask Mat::ones( src.size(), CV_8UC1 ) * 255;// 输出图像Mat dst;// 应用纹理平整化textureFlattening( src, mask, dst );// 显示结果imshow( Original Image, src );imshow( Processed Image, dst );waitKey( 0 );return 0;
}运行结果