원본 회색 음영 이미지의 검은 색 픽셀 위치를 저장하려고하고 나중에 회색 음영 이미지의 수정 된 버전으로 그려야합니다. 그리고 내 코드는 여기에 있습니다 :그레이 스케일 이미지의 검은 픽셀을 저장하고 같은 크기의 다른 그레이 스케일 이미지로 그리는 방법은 무엇입니까?
std::vector< std::vector <cv::Point> > Black_Pixel;
for(int y = 0; y < Original_Image.rows; y++)
{
for(int x = 0; x < Original_Image.cols; x++)
{
if (Original_Image.at<unsigned char>(x,y) == 0)
{
Black_Pixel[0].push_back(cv::Point(x,y));
Black_Pixel.push_back(std::vector <cv::Point>());
}
}
}
for(unsigned int idx = 0; idx < Black_Pixel.size(); idx++)
{
New_image.at<unsigned char>(Black_Pixel[0][idx].x,Black_Pixel[0][idx].y) = 0;
cv::waitKey();
}
변수가 여기에있을 것이다 : Black_Pixel.push_back (std :: vector ??); 그것의 보여주는 컴파일 오류 –
muin
시도 Black_Pixel.push_back (표준 : 벡터()); 그때. 그게 효과가 있니? BlackPixel에서 빈 0 번째 요소를 만듭니다. 배열이므로 실제로 요소를 만들기 전에 변수 (하위 배열)에 액세스 할 수 없습니다. –
세그먼트 화 오류가 발생합니다. cv :: drawContours가 다른 이미지 매트릭스에 검은 픽셀을 그리는 데 적합한 함수라고 생각합니까 ?? – muin