Mój obraz ma "odbicie światła", dwa pierwsze zera na obrazie mają trochę inne światło niż reszta obrazu. Kiedy przekonwertuję to na obraz binarny, ta część staje się biała i muszę uzyskać dokładny kontur liczby, a to przeszkadza. ow czy mógłbym rozwiązać to przy użyciu OpenCV?Co mogę zrobić, aby wyeliminować "odbicie światła" obrazu? używając OpenCV
obraz oryginalny https://docs.google.com/file/d/0BzUNc6BOkYrNNlE3U04wWEVvVE0/edit?usp=sharing
binarna wersja https://docs.google.com/file/d/0BzUNc6BOkYrNeEE0U3NvOElqa1E/edit?usp=sharing
Gdybym zwiększyć wartość progu, tracę numery po prawej stronie obrazu. Mój kod:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main (int argc, char **argv)
{
Mat im_gray = imread("img2.jpg",CV_LOAD_IMAGE_GRAYSCALE);
Mat im_rgb = imread("img2.jpg");
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
Mat img_bw = im_gray > 90;
imwrite("image_bw2.jpg", img_bw);
return 0;
}
Użyj progu adaptacyjnego – Blender
Możesz użyć maski. Im mniej biały piksel, tym bardziej będzie czarny. To znaczy. zamieniasz obszary koloru brązowego i czerwonego na czarne. – William