Pracuję z QT i OpenCV, mam ten kwadrat, który muszę wyodrębnić, ale muszę użyć konwersji z RGB do jednego kanału (w zasadzie RED). Wszelkie porady będą mile widziane, prosimy o poradę, jakie funkcje zastosować. Z góry dziękuję.Wyodrębnij jeden obraz kanału z obrazu RGB z opencV
Odpowiedz
http://kemppro.blogspot.com/2014/05/splitting-image-in-to-three-channels.html Można uzyskać odpowiedź stamtąd
Staraj się unikać odpowiedzi tylko na link. Sprawdź, czy możesz parafrazować najważniejsze informacje z linku – StephenTG
O ile wiem, wywołanie,
cvtColor(src, bwsrc, CV_RGB2GRAY);
można zrobić, gdzie src jest wielokanałowy dźwięk źródłowy obraz i trzeci parametr reprezentuje liczbę kanałów w miejscu przeznaczenia. Możesz to zrobić w OpenCV i wyświetlić obraz w swoim interfejsie Qt.
Z drugiej strony można podzielić kanały na osobne tablice jednokanałowe przy użyciu odpowiedniej metody split().
http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html#split
myślę cvSplit
jest to, czego szukasz (docs). Można go używać na przykład podzielić RGB do R, G i B:
/* assuming src is your source image */
CvSize s = cvSize(src->width, src->height);
int d = src->depth;
IplImage* R = cvCreateImage(s, d, 1);
IplImage* G = cvCreateImage(s, d, 1);
IplImage* B = cvCreateImage(s, d, 1);
cvSplit(src, R, G, B, null);
Uwaga trzeba uważać na zamawiającego; upewnij się, że oryginalny obraz jest rzeczywiście uporządkowany jako R, G, B (istnieje spora szansa, że to B, G, R).
Jest to prawdopodobnie to, czego szukał pytający. – kiltek
Ponieważ jest to oznaczone qt
dam odpowiedź C++.
// Create Windows
namedWindow("Red",1);
namedWindow("Green",1);
namedWindow("Blue",1);
// Create Matrices (make sure there is an image in input!)
Mat input;
Mat channel[3];
// The actual splitting.
split(input, channel);
// Display
imshow("Blue", channel[0]);
imshow("Green", channel[1]);
imshow("Red", channel[2]);
Testowane na OpenCV 2.4.5
- 1. progowanie obrazu RGB w OpenCV
- 2. OpenCV jak naśladować obraz RGB
- 3. OpenCV sub-obraz z obrazu Mat
- 4. Jak utworzyć obraz OpenCV z obrazu PIL?
- 5. Wyodrębnij wartości RGB Od UIColor
- 6. Utwórz nowy obraz OpenCV RGB za pomocą Pythona?
- 7. Wyodrębnij surowy obraz z obrazu Imagick w PHP
- 8. Wyodrębnij obraz podrzędny z obrazu za pomocą C#
- 9. Jak utworzyć obraz CG z danymi RGB?
- 10. Uzyskiwanie obrazu profilu kanału YouTube z channelId
- 11. Przechwyć RGB z Kinnect z Openni i pokaż z OpenCV
- 12. przenoszenia obrazu z Matlab do OpenCV IplImage
- 13. Jak wyświetlić obraz RGB przy użyciu pylab
- 14. Wyodrębnij tylko jeden katalog z tar
- 15. Jak przekonwertować tablicę numhon Python na obraz RGB z Opencv 2.4?
- 16. obrazu w obraz z cvMatchTemplate - ale jak?
- 17. Uzyskiwanie tablicy RGB z obrazu w C#
- 18. Wyodrębnij wartości RGB z ramki AVFrame (FFMPEG) w C++
- 19. Wyodrębnij wymiary obrazu z łańcucha Base64
- 20. Konwertuj RGB na czarno-biały w OpenCV
- 21. Przekształcanie obrazu Opencv
- 22. opencv odczytanie obrazu jpeg z bufora
- 23. Wyodrębnij szerokość, wysokość, kolor i typ obrazu z tablicy bajtów.
- 24. Konwertuj obraz do tablicy RGB w JavaScript
- 25. obrazu (kolor?) Segmentacja z OpenCV C++
- 26. Uzyskaj RGB z BufferedImage
- 27. wykryj przestrzeń kolorów z openCV
- 28. obciążenie Python OpenCV obraz z bajtowy ciąg
- 29. sws_scale YUV -> zniekształcony obraz RGB
- 30. Zapisywanie obrazu w OpenCV
Chciałbyś przyjrzeć funkcji cvtColor()? http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html#cvtColor –