我需要OpenCV从Mac屏幕上获取数据。这就是我尝试过的;它会得到一个CGImageRef:
#include <ApplicationServices/ApplicationServices.h>
using namespace std;
int main() {
CGImageRef an_image = CGDisplayCreateImage(CGMainDisplayID());
return 0;
}
是否可以将an_image
转换为OpenCV Mat
?我找到了一种从UIImage
(https://docs.opencv.org/2.4/doc/tutorials/ios/image_manipulation/image_manipulation.html)进行转换的方法,但是看来我无法在C ++(https://softwareengineering.stackexchange.com/a/171631)中使用UIImages。我可以尝试在部分代码中使用Objective-C,但由于我以前从未使用过该语言,所以我不希望这样做。
或者,有没有办法以其他格式(不是CGImageRef)格式截屏?