opencv从文件中读取图片

今天接到一个任务,是从一个文件中将图片读取出来,文件是.out结尾的从摄像头上读取的图片,决定使用opencv来实现,刚好前端时间把浅墨的opencv入门书从头到尾又看了一遍,所有的程序也亲手重新过了一遍,但是还是感觉什么都不会,以后要多增加这方面的编程,纸上得来终觉浅,绝知此事要躬行。

下面直接看代码:

#include <stdio.h>
#include <vector>
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/highgui/highgui.hpp>



using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
	int width = 1920;
	int height = 1080;
	int tmpLen = width * height * 3;
	Size size(1920, 1080);
	unsigned char* pBuffer = new unsigned char[tmpLen];

	FILE* file = fopen("D:\\workspace\\Utils\\Data\\test2.out", "ab+");

	if (nullptr == file)
	{
		cout << "Open file fail!" << endl;
		return -1;
	}

	int i = 1;
	while (i < 50)
	{
		fread(pBuffer, tmpLen, 1, file);

		cv::Mat img = cv::Mat(size, CV_8UC1, pBuffer);
		string img_name = "D:\\workspace\\Utils\\Data\\img\\" + to_string(i) + ".jpg";
		imwrite(img_name, img);
		i++;
		
	}

	return 0;
}

代码很简单,但是自己实际写的时候花了很多时间,比如将图片一张张存起来就想了很久,看别人的代码和自己的写程序真的有很大的区别,不过断点调试真的是一个很好的检验程序的方法,可惜自己用的不多也不熟练,后面会多更新c++和opencv的程序,增强一下基础。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值