Zrozumienie regionu zainteresowania w openCV 2.4
Wiem, że w OpenCV 2.1 mieliśmy funkcję ustawiania ROI: cvSetImageROI (), ale taka funkcja nie istnieje w 2.4 (lub przynajmniej nie mogę jej znaleźć w podręcznikach i sekcji pomocy).
jednak tutaj jest jedyny pomocny kod, który mogę znaleźć, który używa opencv 2.4 dla ROI maga, ale mam problem ze zrozumieniem tego:
// define image ROI
cv::Mat imageROI;
imageROI= image(cv::Rect(385,270,logo.cols,logo.rows));
// add logo to image
cv::addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);
Tutaj chcą dodać bardzo mały dziennik do dużego obrazu w prawym dolnym rogu oryginalnego obrazu.
Rozumiem więc, że tworzona jest kolejna matryca do przechowywania ROI. Jego wymiary podane za pomocą funkcji rect i rozmiar są równe rozmiarom małego logo, które chcą dodać.
Wtedy to co mnie myli:cv::addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);
tutaj źródłem 1 dla addWeighted jest zestaw wymiarów ROI, źródło 2 to logo, a miejscem docelowym są także wymiary ROI. Czy to jest poprawne? czy coś mi brakuje?
Po tym wynik jest wyświetlany z logo dodanym do dużego obrazu. Gdzie w tych poleceniach znajdował się duży obraz.
Również przed pytaniem tutaj chciałem sam spróbować kodu, aby pomóc wyjaśnić sytuację. ale otrzymuję ten błąd, ponieważ obraz () nie jest rozpoznawany:'image': identifier not found
int _tmain(int argc, _TCHAR* argv[])
{
Mat src1, imageROI, logo;
logo = imread("c:\\car1.jpg", -1);
imageROI= image(Rect(385,270,logo.cols,logo.rows));
addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);
namedWindow("meh", CV_WINDOW_AUTOSIZE);
imshow("meh", imageROI);
waitKey(0);
return 0;
}