RGB에서 최대 값을 감지하고 싶습니다. 어떻게 탐지 할 수 있습니까? RGB 값으로 가장 많이 나타나는 색상을 표시하고 싶습니다. 예를 들어, 이미지에서 RED 색상은 가장 높은 어커런스를 가지므로 색상을 빨간색으로 표시하고 해당 값을 백분율로 표시합니다. 나는 아래와 같이 행과 이미지의 COLS를 얻어서 그것을 시도Android에서 OpenCV를 사용하여 CameraFrame에서 RGB 값 검색
:
public Mat onCameraFrame(CvCameraViewFrame cvf) {
mRgba = cvf.rgba();
int rows = mRgba.rows();
int cols = mRgba.cols();
// int ch = mRgba.channels();
double R=0,G=0,B=0;
for (int i=0; i<rows; i++)
{
for (int j=0; j<cols; j++)
{
double[] data = mRgba.get(i, j); //Stores element in an array
R = data[0];
G= data[1];
B = data[2];
}
}
Imgproc.putText(mRgba,"R:"+R + "G:"+G +"B:"+B,new Point(10,52),Core.FONT_HERSHEY_COMPLEX,.7,new Scalar(5,255,255), 2,8,false);
return mRgba;
}
하지만 많은 시간에 복용하고 내가 onCameraFrame
코드를 구현하기 때문에 화면이 지체된다. 그렇다면이 방법으로 어떻게 빨리 감지 할 수 있으며 가장 좋은 방법입니까?
감사합니다.
대신 HSV 색상 공간을 사용해야하는 색상의 이름을 지정하려는 경우 – Micka
예 색상 이름과 그 비율을 지정하고 싶습니다. 이 질문에 대해 제발 대답 해 주시겠습니까? 거대한 요청 이네. 감사 –