首页 > 其他分享 >【opencv】两种cpp读取图片作为

【opencv】两种cpp读取图片作为

时间:2024-02-26 19:46:40浏览次数:18  
标签:std 读取 int ios char opencv cpp include fin

#include <fstream> // ifstream, ifstream::in
using namespace std;

int main(){
	// 1. 打开图片文件
	// 评论区的 @霍鑫网络 帮忙发现一个隐藏的bug,在此表示感谢,已经修正
	ifstream is("test.jpg", ifstream::in | ios::binary);
	// 2. 计算图片长度
	is.seekg(0, is.end);
	int length = is.tellg();
	is.seekg(0, is.beg);
	// 3. 创建内存缓存区
	char * buffer = new char[length];
	// 4. 读取图片
	is.read(buffer, length);
	// 到此,图片已经成功的被读取到内存(buffer)中
    //https://www.coder.work/article/1711506
    //https://stackoverrun.com/cn/q/8220469
	delete [] buffer;
	return 0;
}
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <io.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
	string strpath = "D:\\Dtest5\\Readjpg\\1.jpg";
	string strR1 = "D:\\Dtest5\\Readjpg\\10.jpg";
 
	std::ifstream fin(strpath.c_str(), std::ios::binary);
	fin.seekg(0, ios::end);
	int iSize = fin.tellg();
	char* szBuf = new (std::nothrow) char[iSize];
 
	fin.seekg(0, ios::beg);
	fin.read(szBuf, sizeof(char) * iSize);
	fin.close();
 
	std::ofstream fout(strR1.c_str(), std::ios::binary);
	fout.write(szBuf, sizeof(char) * iSize);
	fout.close();
 
	return 0;
}

标签:std,读取,int,ios,char,opencv,cpp,include,fin
From: https://www.cnblogs.com/xypf/p/18035031

相关文章

  • cpp文件 编译通过,但是运行时提示找不到动态库。
    如果编译通过了,但是在运行时提示找不到动态库,通常是因为系统无法找到正确的动态库路径。1.**确认动态库路径**:首先,确保动态库文件存在于编译时指定的路径中。你可以检查编译时是否指定了正确的库路径,并且库文件是否位于该路径中。2.**设置LD_LIBRARY_PATH环境变量**:在运行程序......
  • 从一次DEBUG体会modernCPP
    今天写树形dp,用匿名函数出现了极其玄学的报错,modernCPP给我上了一课note:'solve()::<lambda(auto:23,int,int)>::~()'isimplicitlydeletedbecausethedefaultdefinitionwouldbeill-formed源代码voidsolve(){intn;std::cin>>n;std::vector<i......
  • iexcel-excel 读取和写入,解决 excel OOM 问题
    项目简介IExcel用于优雅地读取和写入excel。避免大excel出现oom,简约而不简单。特性一行代码搞定一切OO的方式操作excel,编程更加方便优雅。sax模式读取,SXSS模式写入。避免excel大文件OOM。基于注解,编程更加灵活。设计简单,注释完整。方便大家学习改造......
  • 读取一个图片文件,显示在一个窗口(opencv生成的)
    //下面3行增加在CPP头部#include<opencv2/opencv.hpp>#include<opencv2/highgui/highgui_c.h>usingnamespacecv;//下面的代码添加在功能需要的地方,这个窗口和windows程序的窗口不一样,只是一个简单的将图片显示在一个独立的窗口。//菜单、按钮响应功能都可以......
  • opencv android studio build.gradle修改为build.gradle.kts 文件示例
    注意将openCVersionName,openCVersionCode,compileSdk,minSdk进行相应的修改即可.plugins{id("com.android.library")id("org.jetbrains.kotlin.android")}valopenCVersionName="4.9.0"valopenCVersionCode=((4*100+9)*1......
  • C++文件读取末尾空行问题
    起因是做gitlet读取文件内容时遇到的内容不匹配错误,后来发现是自己读取文件内容时均使用getline函数,写回时读入的每个字符串都加上换行符,导致文件末尾可能多出换行符。于是改成了vector<string>Blob::readContentsForBlob(conststring&file){vector<string>content;......
  • Android Studio 引入 OpenCV 之后 出现 Plugin was not found in any of the followin
    网上看了各种方法,什么设置代理啊,清缓存啊,重启啊之类的都试过了,都不行,后来看到帖子说OpenCV的包用的是Groovy的,即build.gradle文件而不是Kotlin的build.gradle.kts文件,然后我改了还是会报错后来我发现我遗漏了一个重点!!!要将项目根目录下的setting.gradl......
  • Go语言精进之路读书笔记第36条——使用atomic包实现伸缩性更好的并发读取
    atomic包提供了两大类原子操作接口:一类是针对整型变量的,包括有符号整型、无符号整型以及对应的指针类型;另一个类是针对自定义类型的。atomic包十分适合一些对性能十分敏感、并发量较大且读多写少的场合。如果要对一个复杂的临界区数据进行同步,那么首选依旧是sync包中的原语。36.......
  • javacpp是什么?
    javaCPP提供了在Java中高效访问本地C++的方法。采用JNI技术实现,支持所有Java实现包括Android系统,Avian和RoboVM。 JavaCPP提供了一系列的Annotation将Java代码映射...IntroductionJavaCPPprovidesefficientaccesstonativeC++insideJava,notunlikethewaysomeC/C......
  • 【C++】【OpenCV】Visual Studio 2022 配置OpenCV
    记录一下VisualStudio配置OpenCV过程以及出现的问题本机环境:1、Windows102、VisualStudio2022 配置步骤:1、下载OpenCV(Releases·opencv/opencv·GitHub)在GitHub上下载最新的版本 2、双击打开,然后选择路径后,点击Extract 3、等待提取完成后在VisualStudio中新......