10

自動CvVideoCamera回転しますが、そうしないでください。これはバグトラッカーで提起されましたが、しばらく活動がありませんでした。

4

3 に答える 3

27

をサブクラスCvVideoCamera化し、回転コードを削除するだけです。向きを常に縦向きにしたかったので、これは簡単でした:

MyCvVideoCamera.h

#import <opencv2/highgui/cap_ios.h>

@interface MyCvVideoCamera : CvVideoCamera

- (void)updateOrientation;
- (void)layoutPreviewLayer;

@property (nonatomic, retain) CALayer *customPreviewLayer;

@end

MyCvVideoCamera.m

#import "MyCvVideoCamera.h"

@implementation MyCvVideoCamera

- (void)updateOrientation;
{
    // nop
}
- (void)layoutPreviewLayer;
{
    if (self.parentView != nil) {
        CALayer* layer = self.customPreviewLayer;
        CGRect bounds = self.customPreviewLayer.bounds;
        layer.position = CGPointMake(self.parentView.frame.size.width/2., self.parentView.frame.size.height/2.);
        layer.bounds = bounds;
    }
}
@end
于 2013-02-14T14:21:38.610 に答える
3

それを機能させるには、次を追加する必要がありました。

@protocol CvVideoCameraDelegateMod <CvVideoCameraDelegate>
@end

上記 MyCvVideoCamera.h に

@synthesize customPreviewLayer = _customPreviewLayer;

MyCvVideoCamera.m へ

于 2014-03-01T23:42:01.080 に答える