python版:

import numpy as np
import cv2
height=480
width=640
channels=3
# img = cv2.imread('data/04/04(1).bmp')
# # 这里需要我们在当前目录下放一张名为cat.jpg的文件
# img.tofile('04(1).raw')
# #利用numpy中array的函数tofile将数据写入文件
# #这时我们发现当前目录下新增了一个文件,名为cat.raw
# # 我们先确定原图片的数据格式和大小,通道数,否者无法进行下一步转换
# type = img.dtype#得到数据格式,如uint8和uint16等
# height,width, channels = img.shape# 得到图像大小和通道数
# 利用numpydefromfile函数读取raw文件,并指定数据格式
imgData = np.fromfile(r'C:\Users\Administrator\Documents\tmp\ceshia\ceshia\1648629378140_0.7237443_rgb.raw', dtype=np.uint8)
# 利用numpy中array的reshape函数将读取到的数据进行重新排列。
imgData = imgData.reshape(height,width,channels)imgData=cv2.cvtColor(imgData,cv2.COLOR_BGR2RGB)
to_dir=r'C:\Users\Administrator\Documents\tmp\ceshia\ceshia'cv2.imwrite(to_dir+"jia.jpg",imgData)
# 展示图像
cv2.imshow('img',imgData)
# 注意到这个函数只能显示uint8类型的数据,如果是uint16的数据请先转成uint8。否则图片显示会出现问题。**
cv2.waitKey()

c++版:

#include<iostream>
#include<opencv2/opencv.hpp>
#include<fstream>
using namespace std;
using namespace cv;int main()
{// open raw dataconst std::string file_path = "D:/E_Dragon/OPENCV/testpictures/1.raw";std::ifstream fin;// 注意,这里要指定binary读取模式fin.open(file_path, std::ios::binary);if (!fin) {std::cerr << "open failed: " << file_path << std::endl;}// seek函数会把标记移动到输入流的结尾fin.seekg(0, fin.end);// tell会告知整个输入流(从开头到标记)的字节数量int length = fin.tellg();// 再把标记移动到流的开始位置fin.seekg(0, fin.beg);std::cout << "file length: " << length << std::endl;// load bufferchar* buffer = new char[length];// read函数读取(拷贝)流中的length各字节到bufferfin.read(buffer, length);// construct opencv mat and show imagecv::Mat image(cv::Size(720, 540), CV_8UC1, buffer);cv::imshow("test", image);cv::waitKey();
}

原文链接:https://blog.csdn.net/weixin_51229250/article/details/119789057

opencv操作raw文件相关推荐

  1. 使用OpenCV打开RAW文件

    首先来介绍一下关于相机的基础知识: 1.CCD/CMOS相机的感光元件对波长(即颜色)不敏感,如果拿一个裸体的CCD/CMOS传感器去拍摄图像,只能得到灰度图: 2.因为上述这条,人们必须找到能够将波 ...

  2. python c++操作raw文件

    这个成功了: imgData = np.fromfile(image_name, dtype=np.uint8)# 利用numpy中array的reshape函数将读取到的数据进行重新排列.img_o ...

  3. Android文件读写操作(assets 文件、 raw文件、内部存储文件、外部存储文件)

    Android中的文件读写操作是不可或缺的,每个应用都会涉及到读写操作.这里将读写操作分成了四个部分 assets文件夹中文件数据的读取 raw文件夹中的文件数据的读取 Android内部存储文件的读 ...

  4. 在Qt中查看.raw文件

    在Qt中查看.raw文件 Qt中图像类为QImage,而OpenCV对图像操作使用Mat/IplImage,因此,想要在Qt的控件上查看.raw文件需要先将IplImage/Mat转换为QImage ...

  5. OpenCV读写视频文件解析

    OpenCV读写视频文件解析 一.视频读写类 视频处理的是运动图像,而不是静止图像.视频资源可以是一个专用摄像机.网络摄像头.视频文件或图像文件序列. 在OpenCV 中,VideoCapture 类 ...

  6. Python+OpenCV创建级联文件(Windows7/10环境)

    目录 1.搭建环境 2.准备数据集 3.训练级联文件 之前使用Python+OpenCV实现交通路标识别,具体实现步骤及心得如下: OpenCV训练属于自己的xml文件,需以下几个步骤: 1.首先下载 ...

  7. OpenCV中XML文件和YAML文件的读写

    OpenCV中XML文件和YAML文件的读写 代码如下: #include <opencv2/core/core.hpp> #include <iostream> #inclu ...

  8. Android开发:第四日番外——Assets文件夹和RAW文件夹区别

    话说上回说到SQLite数据库,其中涉及到把已经设计好的数据库打包到APK中,提到可以放置在Assert文件夹或者RAW文件夹中,那么两者到底有什么区别呢?让我们来探究一下. 一.res/raw和as ...

  9. .hpp文件_3 OpenCV的头文件说明及第一个示例程序

    在安装OpenCV库并设置好编程环境之后,我们的就可以让代码中发生一些有趣的事情.但是首先必须弄清楚头文件.这些头文件反映了前面介绍的OpenCV模块化结构.主头文件是... / include / ...

最新文章

  1. 欢迎大家踊跃报名担当“讲师”
  2. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)
  3. 创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积
  4. IAR在写结构体时不提示_智能物流装车系统的结构优化与改进
  5. MySQL 的覆盖索引为什么不需要回表
  6. MySQL的JDBC驱动8.0配置
  7. 23位子网掩码是多少_无敌子网掩码(IP地址)计算方法(完全心算法)
  8. 表格标签-表格基本结构
  9. 计算机设计大赛山东,第十届中国大学生计算机设计大赛山东赛区颁奖典礼在我校举办...
  10. Let's Encrypt申请证书-保姆教程
  11. Vue仿制移动端QQ音乐(可预览)
  12. 魅族手机安卓真机调试打开了开发者调试模式但是LogCat没有输出日志
  13. python爬取网易云音乐热评_python爬取网易云音乐评论
  14. 华为路由器交换机命令汇总-持续更新
  15. (设计模式) (李建忠 C++) 23种设计模式
  16. ICMP类型报文分类。
  17. Altium DesignerPCB内部走线角度切换 直线切换圆弧
  18. 如何在dynamo中使用Python编程
  19. 华创芯光朱斌斌博士晋级第二届“清华大学国强研究院杯”全球人工智能与机器人双创大赛
  20. ubuntu14.04使用ATI显卡,安装opencl并使用cgminer的方法(原创)

热门文章

  1. centos 8 的图形操作界面在哪_文泰刻绘2020下载-文泰刻绘2020官方版下载[图形化编程平台]...
  2. C#生成音频文件以及转换成需要的格式
  3. 第九届全国大学生GIS应用技能大赛(A上午)
  4. Centos7 FastDFS 搭建
  5. IEEE Latex论文写作过程中需避免的格式问题
  6. Reflector、ReflectorFactory的今生
  7. Python实现查找凶手
  8. DelphiXE 10.3中ActionList或者菜单事件的调用
  9. ActionList及Action使用
  10. 常用 js 代码 - 2