Маркировка пикселей на изображениях для классификации

Я хотел бы узнать больше о том, как маркировать пиксели на изображениях. Я хочу использовать алгоритмы в Caffe, чтобы создать программу обнаружения краев. До сих пор я фильтровал изображение, чтобы получить края, и успешно написал код, чтобы определить, является ли пиксель краем или нет (полагаясь на соседние пиксели). Все, что я хочу сейчас сделать — это пометить их как ребра, чтобы я мог использовать их в качестве обучающих данных в своем алгоритме (-ах). Я новичок в C ++ и Caffe. Что мне действительно нужно, так это чтобы кто-то объяснил, как именно работает маркировка, я бы сказал, чтобы перейти к каждому пикселю, который он считает ребром, и присвоить ему значение 1 для края и 0 для не края? ЕСЛИ так, как мне это сделать? Ссылки и пошаговые руководства приветствуются, поскольку я некоторое время боролся за эту задачу.

Хорошо, например, я достиг этого кода:

  Mat pixelComparisonAlg(Mat img){
Mat img_gray;
img_gray = navigateImage(img.clone());
for(int x=0; x < img_gray.cols-1 ; x++){
for(int y=0; y < img_gray.rows-1; y++ ){
Vec3b value1 = img_gray.at<Vec3b>(Point(x+1,y+1));
Vec3b value2 = img_gray.at<Vec3b>(Point(x+1,y));
Vec3b value4 = img_gray.at<Vec3b>(Point(x,y+1));
Vec3b value = img_gray.at<Vec3b>(Point(x,y));

if( value1 != value || value != value2  ||  value!= value4){
//EDGE!

value.val[0] = 0;
value.val[1] = 0;
value.val[2] = 255;

value1.val[0] = 0;
value1.val[1] = 0;
value1.val[2] = 255;

img_gray.at<Vec3b>(Point(x,y)) = value;

}
else{

value;

}
}
}
return img_gray;
}int main( int argc, char** argv )
{
Mat img = cv::imread("...", CV_LOAD_IMAGE_COLOR);if(! img.data){
cout << "could not open or find the image" << endl;
return -1;
}

imshow("edges", pixelComparisonAlg(img.clone()));

cv::waitKey(0);
return 0;

}

есть ли возможность пометить эти пиксели как края? Допустим, я беру код, который меняет цвет краев на красный (после оператора if), изменяю его, чтобы пометить пиксель как край или нет. Таким образом, у меня есть вектор, несущий информацию о пикселе: цвет (3 векторных элемента) и метка (1 векторный элемент)

Спасибо

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]