1
OpenCV C++에서 이미지 색상 필터링을하고 있습니다. 내 자신의 매트릭스를 사용하여 이미지를 필터링하고 싶습니다. 이 코드를 참조하십시오 :OpenCV는 내 자신의 필터를 컬러 이미지에 적용합니다.
img= "c:/Test/tes.jpg";
Mat im = imread(img);
그리고 내가 필터링하려는를/(이 행렬은 또 다른 매트릭스 3 × 3으로 대체 가능)
Mat filter = (Mat_<double>(3, 3) <<17.8824, 43.5161, 4.11935,
3.45565, 27.1554, 3.86714,
0.0299566, 0.184309, 1.46709);
어떻게 내 자신의 매트릭스로
img
매트 행렬을 곱하여 내 행렬 곱셈 ? 나는 여전히 3 행렬 (RGB) 행렬에 다른 행렬 (단일 채널)을 곱하는 방법을 이해하지 못하고 새로운 색상으로 이미지를 생성합니다.
감사합니다,하지만 난 우리가 R, G에서 모든 단일 픽셀을 받아야합니다 that.First를 해결하기 위해 매트랩의 알고리즘을 발견했다 (1,1) G, (1,1) B, 다음에 매트 3x1 행렬을 만들고 내 자신의 행렬을 곱해서 (행, col) (1,1) 새로운 3x1 행렬을 생성합니다. 그리고 나서 새로운 행렬의 모든 원소를 새로운 RGB 행렬 (1,1) R-> 새로운 값, (1,1) B-> 새로운 값 등등에 넣습니다.하지만 나는 그렇지 않습니다. C++에서 그렇게하는 아이디어가 있습니다. –
왜 너 자신을 다시 써 주겠어? opencv를 사용하고 있기 때문에 opencv가 제공하는 함수를 사용하십시오 ... –
는 문제가 해결 되었습니까? 그럼 대답을 받아주세요. –