opencv
opencv是开源的计算机视觉库 可以用于图像处理的应用和学习
mac opencv环境安装
1. opencv的安装
brew install opencv
2. xcode配置
1. 配置头文件搜索路径
xcode工程配置 -> Build Settings->Search Paths
->User Header Search Path
设置为/usr/local/include
2. 拷贝opencv库到工程
添加/usr/local/lib/lib_opencv* 到工程中
Mat
opencv是图像处理库 必然需要描述图像对象.
Mat类是opencv中的图像描述库 描述一个矩阵对象
一个Mat对象对应一块内存数据以及数据的描述 并且采用了引用计数的思想
多个Mat对象可以共用指向的内存数据(类似shared_ptr的机制)
opencv体验
opencv的魅力之处在于简单的api调用就能实现不错的图像处理效果
这是一个调用摄像头并画出轮廊的例子
int main(int argc, const char * argv[]) {
cv::VideoCapture cap(0);
if (!cap.isOpened()) {
std::cerr << "failed to open capture" << std::endl;
return -1;
}
cv::Mat edges;
cv::namedWindow("edges", 1);
for (;;) {
cv::Mat frm;
cap >> frm;
if (frm.empty())
break;
cv::cvtColor(frm, edges, CV_RGB2GRAY);
cv::Canny(edges, edges, 0, 30, 3);
cv::imshow("edges", edges);
if (cv::waitKey(30) >= 0)
break;
}
cv::waitKey(0);
return 0;
}