我目前正在調整一些內部ImageSnap在嘗試臨時修改,以實時拍攝實時相機圖像的快照。我注意到,圖像調整大小得到,不考慮縱橫比,以及跟蹤的問題爲以下行:避免乾淨的光圈裁剪在CIImage imageWithCVImageBuffer
CVImageBufferRef frame;
// obtain frame
verbose("frame is %d x %d px\n", (int)CVPixelBufferGetWidth(frame),
(int)CVPixelBufferGetHeight(frame));
CIImage *ciimg = [CIImage imageWithCVImageBuffer:frame];
verbose("CIImage has %d x %d px\n", (int)[ciimg extent].size.width,
(int)[ciimg extent].size.height);
至少對於我使用一個給定的裝置中,這些線的輸出是
frame is 1920 x 1080 px
CIImage has 1888 x 1062 px
顯然,圖像被調整大小,雖然我沒有看到任何代碼請求這種調整大小的一部分。從哪裏來,更重要的是,我該如何預防它?
我用下面的文檔,但在那裏找不到一個提示:
編輯:作爲據我所知,沒有縮放,而是裁剪正在進行,這是由於乾淨光圈設置mentioned in the Core Video Programming Guide。所以現在的問題是如何將這個乾淨的光圈設置爲全畫幅,或者如何避免轉換考慮到這一點。
我不能在不久的將來測試這個,但我會簡單地假設它的工作,直到我真的可以試一試。謝謝! – MvG