표시하지 I 타원을 그리 CV : 스칼라 이미지 프레임 예상 색
void ellipse(Mat& img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
cv::Scalar(94.0, 206.0, 165.0, 0.0); // as BGR order, suppose the value is 0.0 - 255.0
cv::Scalar(94.0/255.0, 206.0/255.0, 165.0/255.0, 0.0); // suppose the value is 0.0 - 1.0
에 매개 변수 const Scalar& color
을 설정합니다.
CV_RGB(165.0, 206.0, 94.0); // as RGB order, suppose the value is 0.0 - 255.0
CV_RGB(165.0/255.0, 206.0/255.0, 94.0/255.0); // suppose the value is 0.0 - 1.0
하지만 표시되는 색이 흰색 이다 RGB 값이 (255, 255, 255)]이 아니라 목적 한 녹색.
내가 지금까지 놓친 것은 무엇입니까? 어떤 제안 바랍니다. 고맙습니다.
편집 :
나를 여기에 모든 관련 코드를 넣어 보자.
self.videoCamera = [[CvVideoCamera alloc] initWithParentView:imgView];
[self.videoCamera setDelegate:self];
self.videoCamera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionFront;
self.videoCamera.defaultAVCaptureSessionPreset = AVCaptureSessionPreset352x288;
self.videoCamera.defaultAVCaptureVideoOrientation = AVCaptureVideoOrientationPortrait;
self.videoCamera.defaultFPS = 30;
self.videoCamera.grayscaleMode = NO;
[self.videoCamera adjustLayoutToInterfaceOrientation:UIInterfaceOrientationPortrait];
그렇다면 호출 [self.videoCamera start];
후 (Mat&)image
캡처 될 상기 CvVideoCameraDelegate 방법 - (void)processImage:(Mat&)image;
에서 처리 될 수 있으며, 여기서 타원 그리는 코드이다 :
- (void)viewDidLoad;
에서
CvVideoCamera
구성은
- (void)processImage:(Mat&)image {
NSLog(@"image.type(): %d", image.type()); // got 24
// image.convertTo(image, CV_8UC3); // try to convert image type, but with or without this line result the same
NSLog(@"image.type(): %d", image.type()); // also 24
cv::Scalar colorScalar = cv::Scalar(94, 206, 165);
cv::Point center(image.size().width*0.5, image.size().height*0.5);
cv::Size size(100, 100);
cv::ellipse(image, center, size, 0, 0, 360, colorScalar, 4, 8, 0);
}
는 결국, 타원 흰색이 아닌 원하는 녹색 하나에 아직도있다.
코드의 나머지 부분을 확인하고 다른 곳에서 색상 값을 변경하지 않았는지 확인하십시오. 당신이 제공 한 부분은 내 컴퓨터에서 예상되는 녹색 색상을 완벽하게 보여줍니다. – Barshan
어쩌면 플로트 타입의 이미지가 있을까요? [0 1] 값의 범위는 무엇입니까? – mrgloom
@ Barshan Das 코드의 나머지 부분을 확인하고 주석을 달았지만 색상은 여전히 동일합니다. 어느 것이 당신을 위해 일하는가? – Protocole