raw 图片读取

 


RAW图像数据到RGB
https://blog.csdn.net/peng864534630/article/details/78177211


是的,raw是每个像素一种颜色,而一个像素(通常)是12位。因此,原始像素共有三种颜色,有些是蓝色,有些是红色,那些计数的2倍是绿色。
然后,原始处理软件(要制作RGB JPG,可以直接在相机中,也可以稍后在外部使用)将原始数据转换为RGB图像,以便我们可以使用它。
这是插值,将其他两种颜色的相邻像素合并到这些RGB像素中的每一个中,但所有像素均变为RGB像素。
https://qastack.cn/photo/86170/raw-files-store-3-colors-per-pixel-or-only-one


细说raw图像格式


 raw读取、不同格式图片差异
https://blog.csdn.net/darlingqiang/article/details/109259505

raw图像(本文是raw8),opencv的imread不支持直接读入,但可以通过c++的ifstream读入。
注意的一点是,读取时,mode要设置成std::ios::binary,即把raw图像当做二进制文件读入。

   // open raw data
    const std::string file_path = "/home/zhangshan/image/image.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 buffer
    char* buffer = new char [length];
    // read函数读取(拷贝)流中的length各字节到buffer
    fin.read(buffer, length);
 
    // construct opencv mat and show image
    cv::Mat image(cv::Size(1280, 800), CV_8UC1, buffer);
    cv::imshow("test", image);
    cv::waitKey();

 

MATLAB 是一种流行的数学计算软件,它可以用来读取和处理原始图片raw 图片)。Raw 图片是未经过处理的数字图像,通常以二进制格式存储。在 MATLAB 中,使用 imread 命令可以读取各种图像格式文件的像素信息,但是这个命令不能直接读取 raw 图片。因此,我们需要使用其他方法来读取 raw 图片。 在 MATLAB 中,可以使用 dcraw 工具来读取 raw 图片。dcraw 是一个免费的图片处理工具,可以从 RAW 图片中提取出原始图像数据,并转换成基于像素的格式。要使用 dcraw 工具读取 raw 图片,首先需要安装 dcraw。然后,调用 MATLAB 的系统命令来运行 dcraw 工具,并将输出结果存储在 MATLAB 中。例如,可以使用以下代码来读取一个 raw 图像文件。 filename = 'example.raw'; cmd = sprintf('dcraw -4 -D -T %s', filename); [status,result] = system(cmd); if status == 0 img = imread([filename,'.tiff']); imshow(img); end 在这个例子中,我们首先使用 sprintf 命令创建一个包含 dcraw 命令的字符串(-4 表示输出图像位数为 16 bits-per-pixel,-D 标志表示禁用白平衡,-T 表示输出结果为 TIF 格式),然后使用 system 命令将命令字符串传递给系统。如果命令成功执行,则可以使用 imread 命令读取生成的 TIF 图像文件并显示它。 总之,尽管 MATLAB 不能直接读取 raw 图像文件,但是通过调用 dcraw 工具,可以轻松读取原始图像数据。需要安装 dcraw 并使用 MATLAB 的系统命令将命令传递给系统,然后将输出结果保存在 MATLAB 中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值