c++学习笔记(一)

这篇文章会更新一些我在使用mxnet的c++过程中的一些记录,结合mxnet的c++接口学习c++。方便以后查阅使用。

迭代器iterator的用法

std::string para_path = "D:/Workspace/FaceProject-master/models/centerface.params";
std::map<std::string, mxnet::cpp::NDArray>params;
std::map<std::string, mxnet::cpp::NDArray>::iterator it;//定义一个迭代器it,it是指向pair<std::string, mxnet::cpp::NDArray>类型的指针
NDArray::Load(para_path, nullptr, &params);//注意Load最后一个参数放params的地址
it = params.begin();
//params.begin()为params第一个元素的地址
//params.end()为params最后一个元素的下一个元素的地址
while (it != params.end())
	{
		cout << it->first.substr(4,it->first.size()-4)<< endl;//substr(第一个字符位置,输出总字符的长度)
		it++;
	}

在这里插入图片描述


auto的用法

std::string para_path = "D:/Workspace/FaceProject-master/models/centerface.params";
std::map<std::string, mxnet::cpp::NDArray>params;
NDArray::Load(para_path, nullptr, &params);
for (const auto&pair : params)//pair为params中每一个键值对的引用,并且为const型,即其值不能改变
{
	cout << pair.first << endl;
}

在这里插入图片描述


opencv的通道合并与分离

cv::Mat src = imread("D:/Workspace/COCO_test2014_000000001730.jpg", cv::IMREAD_COLOR);
cv::imshow("src", src);

std::vector<cv::Mat> bgrChannels(3);
cv::split(src, bgrChannels);
cv::Mat blank_ch, fr,fg,fb;
blank_ch = cv::Mat::zeros(cv::Size(src.cols, src.rows), CV_8UC1);

std::vector<cv::Mat> channels_r;
channels_r.push_back(blank_ch);
channels_r.push_back(blank_ch);
channels_r.push_back(bgrChannels[2]);
cv::merge(channels_r, fr);
cv::imshow("R", fr);

std::vector<cv::Mat>channels_g;
channels_g.push_back(blank_ch);
channels_g.push_back(bgrChannels[1]);
channels_g.push_back(blank_ch);
cv::merge(channels_g, fg);
cv::imshow("G", fg);

std::vector<cv::Mat>channels_b;
channels_b.push_back(bgrChannels[0]);
channels_b.push_back(blank_ch);
channels_b.push_back(blank_ch);
cv::merge(channels_b, fb);
cv::imshow("B", fb);

cv::waitKey(0);
cv::destroyAllWindows();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值