मैं एक लाइव वीडियो फीड पर कुछ बढ़त का पता लगाने कर रहा हूँ:सीवी :: इतनी धीमी क्यों आकार बदलती है?
- (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;
}
इसका कोई initialisation है, और यह ठीक काम करता है।
उत्कृष्ट उत्तर, धन्यवाद। – fredley
असल में, मेरे लिए, __INTER \ _NEAREST__ सबसे तेज़ है –