ライブビデオフィードでエッジ検出を行っています:
- (void)processImage:(Mat&)image;
{
cv::resize(image, smallImage, cv::Size(288,352), 0, 0, CV_INTER_CUBIC);
edgeDetection(smallImage);
cv::resize(smallImage, image, image.size(), 0, 0, CV_INTER_LINEAR);
}
edgeDetection
はかなり重い作業を行っており、ビデオ フレーム サイズが 1280x720 の非常に低いフレームレートで実行されていました。resize
呼び出しを追加すると、フレームレートが劇的に低下しました。これは、私が予想していたものとはまったく逆です。これは、サイズ変更操作が遅いためですか、それとも私が何か間違ったことをしているからですか?
smallImage
ヘッダーで次のように宣言されています。
@interface CameraController : UIViewController
<CvVideoCameraDelegate>
{
Mat smallImage;
}
それの初期化はなく、正常に動作します。