这是我的形象:
我想从我的图像中删除噪点(黑色无关的小像素)
我尝试了gaussian
,cvtColor
和adaptiveThreshold
,但没有人完成这项工作
想法?如果你在java中有一个有用的代码。
答案 0 :(得分:5)
根据应用的不同,去除噪音可能会非常棘手。对于您的图像,像关闭/打开这样的简单形态操作可以解决问题。打开操作有助于消除图像中的噪音。关闭将有助于填补现有漏洞。
由于OpenCV c ++ API与Java类似,因此您可以使用以下内容:
cv::Mat Kernel = cv::Mat(cv::Size(Maximum_Width_of_Noise,Maximum_Height_of_noise),CV_8UC1,cv::Scalar(255));
cv::morphologyEx(Input_Image,temp,cv::MORPH_OPEN,Kernel);
cv::morphologyEx(temp,Output_Image,cv::MORPH_CLOSE,Kernel);
有许多方法,但这里的准确度/速度之间存在折衷。
以上操作的结果是: