ubuntu20.04安装libraw,并测试libraw

2023-10-27

1、下载安装包并解压到目录

https://www.libraw.org/download

2、编译安装

autoreconf --install

cd LibRaw-X.YY

./configure # with optional args

make

sudo make install

3、问题一 'aclocal-1.15' is missing on your system.

第一次时,直接执行的./configure,接着make

在make时出现报错:'aclocal-1.15' is missing on your system.

参考https://blog.csdn.net/DeliaPu/article/details/126486906

  1. 测试libraw及使用(clion,opencv3.4.18)

  1. cmakelist文件

cmake_minimum_required(VERSION 3.24)
project(untitled)


IF(NOT CMAKE_BUILD_TYPE)
    SET(CMAKE_BUILD_TYPE Release)
ENDIF()
find_package(OpenCV 3 REQUIRED)



set(CMAKE_CXX_STANDARD 17)

add_executable(untitled2 main.cpp sift.cpp sift.h)
target_link_libraries(untitled2
        ${OpenCV_LIBS}
        )

main.cpp


#include <iostream>
#include <libraw/libraw.h>
#include <opencv2/opencv.hpp>
int main(int argc, char *argv[])
{
    // Read raw image with libraw
    LibRaw RawProcessor;
    int result = RawProcessor.open_file(argv[1]);
    if (result != LIBRAW_SUCCESS)
    {
        std::cerr << "Cannot open file: " << libraw_strerror(result) << std::endl;
        return 1;
    }
    RawProcessor.unpack();
    cv::Mat bayer_image(RawProcessor.imgdata.sizes.height, RawProcessor.imgdata.sizes.width, CV_16UC1, RawProcessor.imgdata.rawdata.raw_image);
    cv::Mat rgb_image;
    cv::cvtColor(bayer_image, rgb_image, cv::COLOR_BayerRG2RGB);
    // Display image with OpenCV
    cv::imshow("Image", rgb_image);
    cv::waitKey(0);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu20.04安装libraw,并测试libraw 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • InvalidOperationException - 对象当前正在其他地方使用 - 红十字

    我有一个 C 桌面应用程序 其中我连续创建的一个线程从源 实际上是一台数码相机 获取图像并将其放在 GUI 中的面板 panel Image img 上 这必须是另一个线程 如它是控件的代码隐藏 该应用程序可以工作 但在某些机器上 我会在随
  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • easy modbus tcp

    public static void Main string args ModbusClient modbusClient new ModbusClient 190 201 100 100 502 Ip Address and Port o
  • Android组件化和插件化的概念,android快速开发框架

    开发单个模块时可以共享资源和工具类 可以针对单个模块测试 开发调试时不需要对整个项目进行编译 多人合作时可以只关注自己的业务模块 把某一业务当成单一项目来开发 可以灵活的对业务模块进行组装和拆分 4 组件化开发的主要思路 就是将一个Modu
  • c++求行列式的值(全排列法)

    用全排列的方式求行列式的值 递归体现在全排列中 上代码 f函数是求行列式的值 include
  • flink中通过jdbc查询结果集使用 flink table api 创建临时视图

    1 maven依赖
  • [转]QNX_HMI_crank工程的系统移植

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 开发软件 Cr
  • python如何输出多个星号_如何使用python输出连续星号?

    小编依稀记得 自己初学编程时候 第一节课 老师就给我们演示了输出连续星号内容 那时候真感叹python的神奇 重温一遍这个内容 入门小伙伴们可以来看下啦 有关语法 用嵌套打印小星星 需求 在控制台连续输出五行 每一行星号的数量依次递增 使用
  • 如何从配置文件中获取属性

    在项目中添加了一个腾讯云的短信业务 领导说要我把这个项目整合到原本的业务中去 业务那么多 怎么搞 继续询问后得知 是整合到原本的短信业务中 原本用的短信业务是短信猫来发短信 问 需要前端加传的参数吗 答 不允许 继续询问得知 是要在配置文件
  • [转]Tangram框架应用开发的一般模式

    框架其实就是一种开发模式 用tangram框架开发应用程序意味着选择一种面向接口 模块化的开发方式 这和传统的Delphi应用程序开发方式有一定区别 对于刚刚接触框架的童鞋可能不知道如何下手 因此有必要把框架的一般开发方式说明一下 不过框架
  • 深入分析HBase Compaction机制

    Compaction介绍 Compaction是buffer gt flush gt merge的Log Structured Merge Tree模型的关键操作 主要起到如下几个作用 1 合并文件 2 清除删除 过期 多余版本的数据 3
  • 二叉树算法

    每日一句 少年就是少年 他们看春风不喜 看夏蝉不烦 看秋风不悲 看冬雪不叹 看满身富贵懒察觉 看不公不允敢面对 只因他们是少年 目录 用递归和非递归两种方式实现二叉树的先序 中序 后序遍历 递归方法 非递归方法 如何完成二叉树的宽度优先遍历
  • 报文摘要算法

    1 报文摘要算法 报文摘要算法是一种将任意长度报文转换成固定长度的报文摘要算法 它具有以下六个特点 能够作用于任意长度的报文 产生有限位数的标识信息 易于实现 具有单向性 具有抗碰撞性 具有高灵敏性 1 1 MD5 1 1 1 添加填充位
  • Pytorch —— nn.Module类(nn.sequential)

    对于前面的线性回归模型 Logistic回归模型和神经网络 我们在构建的时候定义了需要的参数 这对于比较小的模型是可行的 但是对于大的模型 比如100 层的神经网络 这个时候再去手动定义参数就显得非常麻烦 所以 PyTorch 提供了两个模
  • STM32CubeMX+Keil5+Proteus实现按键控制LED灯(入门篇)

    嵌入式HAL库实战项目 本文说明 STM32CubeMX安装和使用 Keil实现按键控制LED亮灭 Proteus仿真 补 Proteus连线问题 总结 本文说明 学生党 之前学习过嵌入式的课程 跟着正点原子的视频一步一步地构建项目的工程
  • nodejs日志管理 log4js使用详解

    一 首先是在项目中安装 log4js npm install log4js save 注 log4js日志级别 分别为 lt 权值从小到大 gt all lt trace lt debug lt info lt warn lt error
  • 数据分析 数据规约

    一 概念 数据规约 Data Reduction 是指在尽可能保持数据原貌的前提下 最大限度地精简数据集 数据规约又分为2类 属性规约 和 数值规约 二 属性规约 1 概念 属性规约 Attributes Reduction 是指通过减少数
  • Vue.js

    Vue js 简介 Vue 读音 vju 类似于 view 是一套用于构建用户界面的渐进式框架 JavaScript框架 相比于库 框架更为强大 但是用框架必须遵守其规则 简化DOM操作 对Vue对DOM元素有特殊语法修饰 直接用就完了 响
  • 寻找数字数组的中位数算法详解

    寻找数字数组的中位数算法详解 在编程中 经常需要对数字数组进行各种操作和计算 其中一个常见的需求是找到这个数组的中位数 中位数是指在一组数据中处于中间位置的数值 将数组按照从小到大的顺序排列 中位数即为位于中间位置的数字 本文将详细介绍如何
  • 浪潮服务器u盘安装系统_教你u盘安装iso镜像系统

    原标题 教你u盘安装iso镜像系统 我们喜欢使用ISO的系统镜像文件安装电脑的系统 但是很多用户下载iOS后 却又不知道该怎么操作安装 以前 我们会用光盘进行安装 而现在 我们却很少使用光盘安装了 下面小编就来跟大家解说U盘怎么安装iso系
  • svn的branch/tag

    http www cnblogs com mingyongcheng archive 2011 05 21 2053139 html 本节主要讲解一下在SVN中Branch和tag的比较 SVN中Branch和tag在一个功能选项中 在使用
  • ubuntu20.04安装libraw,并测试libraw

    1 下载安装包并解压到目录 https www libraw org download 2 编译安装 autoreconf install cd LibRaw X YY configure with optional args make s