opencv for arm

2023-05-16

大家好,这篇文章介绍了在arm开发板上移植opencv的过程

虚拟机 : Ubuntu16.04 64位

单板  :  jz2440 

编译器 : arm-linux-gcc 4.4.3

opencvbanbopencv2.4.9

安装cmake-gui
	输入命令$cmake-gui后,会出现下面的提示,尚未安装cmake-gui,即没有安装图形界面。
	sudo apt-get install cmake-qt-gui。安装过程需要联网
    sudo su 
    cmake-gui 
	配置 
	去掉WITH_CUDA
	CMAKE_INSTALL_PREFIX变量改为/usr/local/arm-opencv/
	勾上 BUILD_JPEG、BUILD_PNG
	去掉WITH_TIFF
	build_opencvxr和with_opencvxr去掉
	去掉build_opencv_ocl和with_opencl
	点两次config  点一次Generate
	sudo vi /usr/local/arm-opencv/CMakeCache.txt 
   打开文件夹下的CmakeCache.txt进行修改
   //Flags used by the linker.(大概在194行附近)
   CMAKE_EXE_LINKER_FLAGS:STRING=-lpthread -lrt 
	make -j4
	sudo su
	make install
	未拷贝库编译 
	arm-linux-g++ -o test test.cpp -I /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include/  -L /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib -I/usr/local/arm-opencv/include/opencv  -I/usr/local/arm-opencv/include/opencv2  -L/usr/local/arm-opencv/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lpthread  -Wno-psabi  -lrt
成功 下面拷贝库 
cd /usr/local/arm-opencv/lib
sudo cp *so* /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib
cd /usr/local/arm-opencv/include
sudo cp -r opencv opencv2  /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include/
arm-linux-g++ -o test test.cpp -I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include/opencv -I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include/opencv2  -L /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lpthread  -Wno-psabi  -lrt

执行会报错 :
	OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvWaitKey, file /mnt/hgfs/share/opencv-2.4.9/modules/highgui/src/window.cpp, line 562
	terminate called after throwing an instance of 'cv::Exception'
	  what():  /mnt/hgfs/share/opencv-2.4.9/modules/highgui/src/window.cpp:562: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvWaitKey

	Aborted
	
因为我们没有安装gtk,所以我们不能调用和显示有关的函数 :
  一个简单的测试程序如下 :
   	#include<iostream>  
	#include <opencv2/core/core.hpp>  
	#include <opencv2/highgui/highgui.hpp>  
	using namespace cv;  
	int main()  
	{  
		// 读入一张图片(游戏原画)  
		Mat img=imread("pic.jpg");  
		// 创建一个名为 "游戏原画"窗口  
		//namedWindow("游戏原画");  
		// 在窗口中显示游戏原画  
		//imshow("游戏原画",img);  
		// 等待6000 ms后窗口自动关闭  
		//waitKey(6000);  
	} 
	
我们可以通过framebuffer在lcd上显示一副图片来替代gtk

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv for arm 的相关文章

  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • opencv 2.3.* 读取不工作

    我无法让 imread 工作 与这个人有同样的问题 OpenCV imwrite 2 2 在 Windows 7 上导致异常 并显示消息 OpenCV 错误 未指定错误 无法找到指定扩展名的编写器 https stackoverflow c
  • gdb 不会从外部架构读取核心文件

    我正在尝试在 Linux 桌面上读取 ARM 核心文件 但似乎无法找出我的核心文件 有什么方法可以指示 gdb 我的核心文件是什么类型吗 file daemon daemon ELF 32 bit LSB executable ARM ve
  • OpenCV 2.3 与 VS 2008 - 鼠标事件

    强制性 我是新手 有一份涉及编程的工作 并且我一边工作一边自学 不用说 作为一名老师 我经常犯彻底的错误 我现在所处的位置 我创建了 Graph 类 它 令人惊讶的是 制作了图表 但现在我想通过单击鼠标来修改图形 但我似乎无法让鼠标处理程序
  • 为什么 GCC 交叉编译不构建“crti.o”?

    在尝试为arm构建gcc 4 x x交叉编译器时 我陷入了缺失的困境crti o文件在 BUILD DIR gcc子目录 An strace在顶层Makefile表明编译后的xgcc正在调用交联器ld with crti o 作为一个论点
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • 为什么我无法在 Mac 12.0.1 (Monterey) 上使用 pip 安装 OpenCV? [复制]

    这个问题在这里已经有答案了 当我尝试使用 python pip 安装 OpenCV 时 它显示了以下内容 Remainder of file ignored Requirement already satisfied pip in Libr
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 如何去除给定图像中的噪声,使 ocr 输出完美?

    我已经对这个孟加拉文本图像进行了大津阈值处理 并使用 tesseract 进行 OCR 但输出非常糟糕 我应该应用什么预处理来消除噪音 我也想校正图像 因为它有轻微的倾斜 我的代码如下 import tesserocr from PIL i
  • 使用 OpenCV 和/或 Numpy 对两个图像进行 Alpha 混合 [重复]

    这个问题在这里已经有答案了 我想将一个填充纯色的半透明矩形添加到已加载的半透明 PNG 中 这是我正在使用的输入图像示例 该图像加载了标准cv2 IMREAD UNCHANGED标志 以便完美保留 alpha 通道 该输入图像存储在imag
  • 如何使用 Python 裁剪图像中的矩形

    谁能给我关于如何裁剪两个矩形框并保存它的建议 我已经尝试过这段代码 但效果不佳 import cv2 import numpy as np Run the code with the image name keep pressing spa
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • 如何确定与视频中物体的距离?

    我有一个从行驶中的车辆前面录制的视频文件 我将使用 OpenCV 进行对象检测和识别 但我停留在一方面 如何确定距已识别物体的距离 我可以知道我当前的速度和现实世界的 GPS 位置 但仅此而已 我无法对我正在跟踪的对象做出任何假设 我计划用
  • 从包含带边框的表格的图像中提取表格结构

    我正在尝试提取下表中的单元格位置 应用自适应阈值处理后 我能够获得细胞位置周围的轮廓 并且 HoughLines 获得垂直和水平结构元素 这是我的代码 img cv2 imread os path join img path file im
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • 在 Python 中将 OpenCV 帧流式传输为 HTML

    我正在尝试从 opencv Pyt hon 中的 URL 读取视频 然后逐帧处理它 然后将其发送到 HTML 页面 But I am only getting the first frame after that the program g
  • Opencv Mat内存管理

    内存管理对于图像类至关重要 在opencv中 图像类是cv Mat 它有一个微妙的内存管理方案 假设我已经有了自己的图像类SelfImage class SelfImage public int width int height unsig
  • OpenCV VideoWriter 未写入 Output.avi

    我正在尝试编写一段简单的代码来获取视频 裁剪视频并写入输出文件 系统设置 OS Windows 10 Conda Environment Python Version 3 7 OpenCV Version 3 4 2 ffmpeg Vers
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • linux下安裝mitmproxy 详解傻瓜式文档

    前言 xff1a mitmproxy 就是用于 MITM 的 proxy xff0c MITM 即中间人攻击 xff08 Man in the middle attack xff09 用于中间人攻击的代理首先会向正常的代理一样转发请求 xf
  • ROS学习笔记(2)——ROS架构

    ROS学习笔记 xff08 2 xff09 ROS架构 0 学习来源1 ROS架构2 文件系统级2 1 工作空间 3 计算图级4 ROS开源社区级4 1 发行版 xff08 Distribution xff09 4 2 软件库 xff08
  • STM32_中断

    STM32 中断 一 介绍 1 1解释 打断CPU执行正常的程序 xff0c 转而处理紧急程序 xff0c 然后返回原暂停的程序继续运行 xff0c 就叫中断 1 2作用和意义 作用 xff1a 实时控制 xff1a 在确定时间内对相应事件
  • Oracle创建用户并授权

    很多时候 xff0c 我们不需要用系统原始的sys xff0c sysdba等系统账户 xff0c 需要创建个性化的用户并授权 xff0c 那就需要我们首先登录到dba账户 xff0c 然后通过dba账户进行用户创建并授权 1 用dba权限
  • 【Linux】vim 中批量添加注释

    本期主题 xff1a vim 中批量添加注释博客主页 xff1a 小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限 xff0c 出现错误希望大家不吝赐 此文主要介绍两种方法 xff1a 方法一 xff1a 块选择模式
  • 对gazebo启动后黑屏或者没有模型的解决

    1 问题 卡在加载模型界面 xff1b 加载太慢或者黑屏 xff1a 报错信息如下 xff1a 图1 打开界面 xff1a 图2 2 解决办法 直接下载所有模型到用户的根目录下的 gazebo models 下 xff1a 方法1 xff1
  • 【Python与机器学习】5.K-Means聚类

    聚类 xff08 clustering xff09 什么是聚类 聚类属于无监督学习 xff08 unsupervised learning xff09 xff0c 即无类别标记 是数据挖掘经典算法之一 算法接收参数k xff1b 然后将样本
  • 穿过已知点画平滑曲线(3次贝塞尔曲线)

    为了把一串点连成光滑的曲线 xff0c 先研究贝塞尔曲线 xff0c 又搞B样条插值 都没有成功 数学没那么强 后来在 翻译 AGG 之贝塞尔插值 http liyiwen javaeye com blog 705489 看到一种比较好的方
  • 二值信号量和互斥锁到底有什么区别?

    原文链接 xff1a https www cnblogs com codescrew p 8970514 html 在说明之前我先抛出结论 xff1a 互斥锁和二值信号量在使用上非常相似 xff0c 但是互斥锁解决了优先级翻转的问题 假定我
  • 使用stm32CubeMX自动配置的工程文件,进行串口的不定长接收(非DMA方式)

    方法描述 xff1a 使用stm32CubeMX自动配置的工程文件 xff0c 进行串口的不定长接收 xff08 非DMA方式 xff09 实际问题解决尝试 xff1a 1 HAL库函数只有接收定长数据HAL UART Receive xf
  • 基于STM32平台的BMP180测试(模拟IIC)

    1 测试描述 xff1a 使用模拟IIC xff0c 从BMP180中获取ID号 温度值 气压值以及计算海拔高度 2 测试准备 xff1a 硬件平台 xff1a 原子战舰V3开发板 测试工具 xff1a 逻辑分析仪 串口调试工具 3 数据手
  • gitee 添加ssh公钥

    首先需要安装git 打开 Git Bash 在Bash中输入 ssh keygen t rsa C 34 xxxx 64 yyy com 34 用你的邮件地址进行替换 连着按三次回车 xff0c 第一次提示 34 Enter file in
  • ROS中使用<serial/serial.h>头文件

    ROS中使用 lt serial serial h gt 头文件 问题描述 编译后出现fatal error serial serial h 没有那个文件或目录 include lt serial serial h gt 解决办法 缺少se
  • realsenseD435i使用IMU出错

    realsense 使用IMU出错 已经参照blogs xff1a https blog csdn net weixin 46363611 article details 114643088 将 realsense ws src reals
  • 对极几何,PNP,ICP求解位姿的方法原理、优缺点

    文章目录 一 对极几何估计位姿1 本质矩阵或基础矩阵估计2 单应矩阵估计3 2D 2D时 xff0c 空间点位置计算 二 PNP估计位姿1 P3P方法估计位姿2 DLT方法估计位姿3 EPnP方法估计位姿3 BA方法估计位姿 三 ICP方法
  • 顺序表查找与散列表(哈希表)

    文章目录 一 数据结构二 平均查找长度 xff08 ASL xff09 三 顺序表查找1 顺序查找2 折半查找3 分块查找4 顺序表查找的对比 四 散列表1 散列表构造2 开放地址散列表构造3 散列表查找效率分析 一 数据结构 二 平均查找
  • You‘ll have to kill the Xtightvnc process manually

    You 39 ll have to kill the Xtightvnc process manually 然后 pkill u user
  • ubuntu Linux多个内核选择

    一 问题 ununtu经常自动升级 xff0c 或者是我们在update时 xff0c 系统自动升级内核 此时会导致较高版本的内核与系统相互矛盾 xff0c 而导致卡机等问题 此时需要对多余内核进行设置为默认内核或者将不正确内核删除 两种方
  • 东北天(ENU)和北东地(NED)

    文章目录 一 坐标系定义1 东北天坐标系 xff08 ENU xff09 2 北东地坐标系 xff08 NED xff09 二 在ENU坐标系向量变换到NED坐标系向量三 将载体相对ENU的姿态和位置 xff0c 变换为载体相对NED的姿态
  • opencv for arm

    大家好 xff0c 这篇文章介绍了在arm开发板上移植opencv的过程 虚拟机 xff1a Ubuntu16 04 64位 单板 xff1a jz2440 编译器 xff1a arm linux gcc 4 4 3 opencvbanbo