最新英伟达GPU算力评估表格 截至2019年7月31日英伟达GPU算力表:https://developer.nvidia.com/cuda-gpus1 CUDA-Enabled Tesla Products1.1 Tesla Workstation Products GPU Compute Capability Tesla K80 3....
【OpenCV】实现行人跟踪 实现一个行人跟踪程序程序在vs2017+OpenCV3.4.1中测试通过摄像头测试请用自己的摄像头测试视频测试 采用了Camshift方法,在单人检测中效果较好,在真实场景中,效果较差,会跟踪到其他人身上。程序#include "pch.h"#include <iostream>#include <opencv2/core/u...
【Ubuntu18.04】安装Docker教程 Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。环境:虚拟机Ubuntu18.04+内核版本linux-4.19.23安装Docker步骤如下:(1)更新程序sudo apt update(2)安...
【win10】安装Pytorch教程 PyTorch简介在2017年1月18日,facebook下的Torch7团队宣布PyTorch开源后就引来了剧烈的反响。PyTorch 是 Torch 在 Python 上的衍生版本。Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 流行度不够, 所以facebook开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上,推出了PyTo...
【win10】安装Anaconda教程 安装pytorch,有两种办法,一是pip,二是conda。不管什么样的方法,首先,都要安装最新的anaconda。Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。里面所包含的Jupyter Notebook是数据挖掘领域中最热门的工具。(例如Kaggle网站)现在我们开始来安装Anaconda3。1 登录Anacond...
【OpenCV】光流场方法标出前景(运动)和背景(静止) 用光流场方法,标出前景(运动)和背景(静止)。环境:VS2017 + OpenCV3.4.1光流场介绍可以参见英文版学习OpenCV3的第17章Tracking英文原版学习OpenCV3下载链接https://download.csdn.net/download/iefenghao/11194776视频测试步骤(1)打开视频(2)转为灰度图...
【OpenCV】视频行人检测 视频行人检测系统,能够分割出多个行人。环境:VS2017 + OpenCV3.4.11 实现图片行人检测步骤:(1)定义HOG对象(2)设置SVM分类器(3)在测试图像上检测行人区域(4)显示图片2 实现视频行人检测步骤:(1)初始化参数(2)设置SVM分类器(3)在测试图像上检测行...
【Linux内核分析与驱动编程】观察内存映射 实验环境:ubuntu18.04内核版本:4.19.23实验原理•程序进程中的分区:•BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。代码段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一...
对‘shm_open’未定义的引用 编译出错:对‘shm_open’未定义的引用原因:一般出错的原因是没有链接库导致的解决方法:在编译最后添加 -lrt例如:gcc -o test test.c -lrtman shm_open的帮助文件的最后几行:NOTESThese functions are provided in glibc 2.2 andlater.Progr...
对‘sem_init’未定义的引用 编译出错:对‘sem_init’未定义的引用原因:一般出错的原因是没有链接库导致的解决方法:在编译最后添加 -lpthread例如:gcc -o test test.c -lpthread...
【OpenCV】合成并显示高动态图像 合成并显示高动态图像环境:VS2017 + OpenCV3.4.1原图HDR图像LDR图像步骤:(1)设置好测试图片序列的路径注意:需要将图片设置为同样大小,否则会出错(2)修改一下list文件中的内容,第二项为曝光时间程序:#include "opencv2/photo.hpp"#include "opencv2/imgcode...
【OpenCV】Meanshift图像分割 OpenCV中自带有基于meanshift的分割方法pyrMeanShiftFiltering()。由函数名pyrMeanShiftFiltering可知,这里是将meanshift算法和图像金字塔相结合用来分割的。void PyrMeanShiftFiltering( const CvArr* srcarr, //输入图像 CvArr* dstarr, ...
【OpenCV】GrabCut图像分割 在OpenCV中,实现了grabcut分割算法,该算法可以方便的分割出前景图像,操作简单,而且分割的效果很好。grabCut( InputArray img, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray fgdModel, ...
【树莓派】交叉编译环境程序测试 在上一篇【树莓派】交叉编译环境搭建成功后,编写一个程序来测试编译环境是否正确运行。1)编写测试程序test.c和Makefile文件test.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>//To calculate pri...
【树莓派】树莓派安装与远程登录(使用SSH和远程桌面连接) 1 树莓派安装准备:树莓派 SD卡(8G以上) 读卡器或SD卡托槽 电脑(需联网)(1)树莓派系统下载:系统下载地址:https://www.raspberrypi.org/downloads/raspbian/ 选择with desktop版本,下载Torrent文件使用迅雷或是其他种子下载工具下载。也可以下载Ubuntu Mate版本下载地址:https:/...
Notepad++实现代码格式化 NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快,但是Notepad++本身是不带这个格式化功能的,但他支持NppAStyle插件 完成格式化。(1)下载Notepad++链接:https://notepad-plus-plus.org/download/v7.6.4.html(2)下载插件NppAStyle.dll,notepad官网提供的这个插件(好久没更新了...
【树莓派】交叉编译环境搭建 PC环境Ubuntu 18.04 VMware 虚拟机64位搭建结果成功搭建步骤:(1)安装Git工具sudo apt-get installgit(2)新建文件夹raspberrypimkdir raspberrypi(3)安装交叉编译工具cd raspberrypigit clone git://github.com/raspberry...
【OpenCV】图像拼接 图像拼接原图结果图stich程序#include "pch.h"#include <iostream>#include < stdio.h > #include < opencv2\opencv.hpp > #include < opencv2\stitching.hpp >int main(){ std::vec...
【OpenCV】提取并标注图像中的直线 提取并标注图像中的直线使用Canny算法原图Canny检测图Canny彩色图(1)转成灰度图(2)降噪(3)使用Canny算子(4)使用Canny算子输出的边缘图作为掩码,来将原图拷到目标图中Canny程序#include <opencv2/opencv.hpp>#include<opencv2/highgui/highgui.hpp>...
【OpenCV】Harris角点检测 提取并标注特征点使用Harris角点检测方法原图检测图(1)初始化变量,dstImage为32位浮点数(2)角点检测(3)归一化(4)进行标注Harris检测#include <iostream>#include <opencv2/opencv.hpp>#include "opencv2/highgui/highgui.hpp"#inc...
【OpenCV】纹理迁移 +||程序:pch.h#include "opencv2/opencv.hpp"#include <iostream>using namespace cv;using namespace std;Mat SearchForSimilarAreas(Mat currentPatch, Mat texturePic);Mat Horizontal(Mat roc...
【OpenCV】纹理提取 求一幅图的纹理特征图原图(1)转为灰度图cvtColor(src_img, gray_img, CV_BGR2GRAY);(2)获得LBP模板并赋值LBP纹理提取代码/*CV:LBPAuthor:1210Date:2019/03/17*/#include <opencv2/opencv.hpp>#include <highgui.h>us...
【Linux内核分析与驱动编程】显示进程的相关信息 linux上进程有5种状态:运行(正在运行或在运行队列中等待)中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)可以用下面命令查看...
【Linux内核分析与驱动编程】fork、vfork在分配和共享的区别 forkfork创造的子进程是父进程的完整副本,复制了父亲进程的资源,包括内存的内容task_struct内容vforkvfork创建的子进程与父进程共享数据段,而且由vfork()创建的子进程将先于父进程运行用fork、vfork创建进程,设计实验查看二者在分配和共享两方面的区别(1)分别编写fork.c和vfork.c进行验证fork.c#include<sys/types...
【Linux内核分析与驱动编程】添加内核补丁 什么是补丁补丁就是存放着不同版本之间差异的文件。通过打补丁的方法升级源代码,可以不用下载整个源代码,在本地的源代码基础上获得代码更新。详细的打补丁的方法可以查看内核/Document/applying-patchs.txt。Linux 下安装高版本补丁到低版本的步骤大体分为以下几步:1 选取补丁(1)补丁出处:理论上讲,各大开源网站(如 github,google 的 andr...
【Linux内核分析与驱动编程】创建显示系统进程信息的 proc 模块 创建显示系统进程信息的 proc 模块Linux遵循现代操作的普遍原则:使程序员和内核、硬件等系统资源隔离开,普通用户无法看到内核空间中发生了什么,系统调用是操作系统提供给应用程序使用操作系统服务的重要接口,但同时也屏蔽了用户直接访问操作系统内核的可能性。Linux 提供了 LKM 机制可以使我们在内核空间工作。Linux 提供的LKM 机制中一个重要的组成部分就是proc 伪文件系统。Pro...
【Linux内核分析与驱动编程】如何切换到root用户 (1)sudo 命令xzm@ubuntu:~$ sudo这样输入当前管理员用户密码就可以得到超级用户的权限。但默认的情况下5分钟root权限就失效了。(2)sudo -ixzm@ubuntu:~$ sudo -i通过这种方法输入当前管理员用户的密码就可以进到root用户。(3)如果想一直使用root权限,要通过su切换到root用户。那我们首先要重设置root用户的密码:xzm...
【Linux内核分析与驱动编程】内核编译安装与调试相关问题与解决方法 内核编译安装注意事项源码可以自己从网上下载(www.kernel.org)在ubuntu18.04中,执行make modules_install和安装内核make install时需要提供root权限,需使用sudo命令执行安装如果是多核PC,在编译内核过程中,可以使用#make –jn命令来编译 ,提高编译速度,其中n是要衍生的作业数,例如双核可以 配置为4。• 重启后进入新内核时...
【Linux内核分析与驱动编程】内核调试实验-原理篇 实验原理篇1.1 实验原理kgdb提供了一种使用 gdb调试 Linux 内核的机制。使用KGDB可以象调试普通的应用程序那样,在内核中进行设置断点、检查变量值、单步跟踪程序运行等操作。使用KGDB调试时需要两台机器,一台作为开发机(Development Machine),另一台作为目标机(Target Machine),两台机器之间通过串口或者以太网口相连。串口连接线是一根RS-232接口...
【Linux内核分析与驱动编程】内核调试实验-指定helloworld作为系统init入口 2 指定helloworld作为系统init入口(1)编写一个helloworld.c程序/hello.c/#include <stdio.h>void main(){printf(“Hello World”);printf(“This is an entry”);printf(“Author:fenghao”);fflush(stdout);while...
【Linux内核分析与驱动编程】内核调试实验-环境搭建 环境:虚拟机Ubuntu18.04内核版本4.19.231 实验环境搭建1.1 内核源码编译(1)利用.config进行源码编译make oldconfigmake –j4(2)创建kDebug调试文件夹(3)复制bzImage、vmlinux、initrd.img-4.19.23到实验目录中1.2 安装dddsudo apt-get install ddd1.3 安...
【OpenCV】透视变换 接上篇二 透视变换透视变换是将图像投影到一个新的视平面,也称作投影映射。透视变换能提供更大的灵活性,但是一个透视投影并不是线性变换,因此其采用的是3X3的映射矩阵,控制点变为4个。Opencv中有封装好的透视变换函数:void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int...
【OpenCV】仿射变换 一 仿射变换仿射变换是一种二维坐标之间的变换,变换前后保持图形的平直性和平行性。仿射变换可以理解为是向量经过一次线性变换和一次平移变换。Opencv中有封装好的仿射变换函数:void warpAffine(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int bord...
【Linux】内核编译与配置(二) 接上篇安装模块sudo make modules_install4 安装内核sudo make install5 配置启动文件sudo update-grub修改引导时间sudo vi /etc/default/grub6 重启并进入新内核rebootuname -a...
【Linux】内核编译与配置(一) 编译步骤A.解压Linux源代码目录B.配置内核C.编译内核和模块D.安装E.配置启动文件F.重启并进入新内核编译环境:Ubuntu18.04 内核版本4.18.0 -&gt;内核版本4.19.23原内核版本1 解压Linux源代码目录1.1 下载安装包wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19....
【OpenCV】【openMP】使用openMP对sobel边缘检测算子加速研究 Sobel 算子常用于图像的边缘检测,计算公式如下OpenMP加速方法计算尺寸为2304X2304,8位灰度掌纹图像的梯度图(或自行选自其他图像),计算采用OpenMP带来的加速比。图像信息:原图像:步骤:(1)读取图像,转化为Mat矩阵,src为原图像原图像:(2)对原图像进行横向运算,找出纵向边缘Gx图像:(3)对原图像进行纵向运算,找出横向边缘Gy图像:...
【OpenCV】【openMP】使用openMP对sobel边缘检测算子加速研究 Sobel 算子常用于图像的边缘检测,计算公式如下OpenMP加速方法计算尺寸为2304X2304,8位灰度掌纹图像的梯度图(或自行选自其他图像),计算采用OpenMP带来的加速比。图像信息:原图像:步骤:(1)读取图像,转化为Mat矩阵,src为原图像原图像:(2)对原图像进行横向运算,找出纵向边缘Gx图像:(3)对原图像进行纵向运算,找出横向边缘Gy图像:...
【OpenCV】算数均值滤波,几何均值滤波,中值滤波,自适应滤波代码实现并比较 采用算数均值滤波器,几何均值滤波器,中值滤波,自适应滤波器对图像进行滤波操作,并输出图像。首先放一下结果:(1)算术均值滤波器计算子窗口的和并求平均程序中对图像边缘不处理。右图为加入椒盐噪声,左图为算数均值滤波图像。程序实现://算数均值滤波void CImageRecoveryDlg::ArithAverFilter( Mat &src, Mat &dst) ...
【OpenCV】实现图像FFT变换并进行滤波 实现图像FFT变换并进行滤波环境:vs2017 + OpenCV 3.4.1实验步骤:(1)将输入图像转换成256×256大小,这样可以进行8次蝶形运算(2)将图像转换为灰度图像,并显示(3)设计FFT输入矩阵,该矩阵为2维双通道矩阵,第一个通道为实部,第二个通道为虚部,并将输入矩阵的值赋给实部(4)将输入矩阵按行进行一维FFT,256个点需进行8次蝶形运算,循环256次得到FF...
【OpenCV】拉普拉斯算子进行图像增强,以及算法优化 拉普拉斯算子进行图像增强,以及算法优化环境:vs2017 + OpenCV3.4.1步骤:(1)新建工程LapFilter(2)确定项目阶段(3)FFT变换部分w = getOptimalDFTSize(gray_image.cols);//将输入图像延展到最佳尺寸,用0填充 h = getOptimalDFTSize(gray_image.rows);//将输入图像延展到最佳尺...
ubantu16.04 安装pycharm PyCharm一个是Python集成开发环境,它既提供收费的专业版,也提供免费的社区版本。PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、自动完成、单元测试。PyCharm非常好用,而且是跨平台的。PyCharm网址:http://www.jetbrains.com/pycharm/Ubuntu 16.04 ...
S3C2440.s启动代码详细分析 ;/*****************************************************************************/;/* S3C2440.S: Startup file for Samsung S3C440 */;/************************************...
ubuntu16.04中编译内核时,使用make menuconfig发生错误 问题描述:在ubuntu16.04中编译内核时,使用make menuconfig发生错误,提示没有安装ncurses-devel。分析过程:使用 sudo apt install ncurses-devel命令安装该库,没有,然后又使用sudo apt install ncurses,还是没有该库。说明有可能库名字在新的ubuntu版本中发生改变。可以判定Ubuntu软件管理器服务端有作...
如何判断EditText的内容是否为空 今天写天气预报项目,起初应该有当判断EditText的内容是否为空,如果是,则弹出Toast显示。以下两种写法均不能起到任何判断效果。edPhoneNum.getText().toString()==nulledPhoneNum.getText().toString().equals(null)后来通过这种方式实现了TextUtils.isEmpty(edPhoneNum.getTe...
android SharedPreferences的用法 之前做应用时碰到这样一个问题:在“A” Activity 要与 “B” Activity的Fragment进行通信传值,但是忽然发现无法拿到B中Fragment的Handler,又不能发送广播,短暂的思考之后想到了SharedPreferences这个轻型的数据存储方式。SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置...
数字图像处理--图像增强MATLAB程序 图像增强是增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。1 图像增强--灰度//灰度P=imread('66.jpg'...
数字图像处理--小波变换MATLAB程序 小波变换(wavelet transform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,...
keil 5兼容keil 4(C51)解决方案 我们在电脑中编程51,需要安装keil C51,即keil 4。编程ARM时,又需要安装keil 5,但是电脑同时安装这两个软件时,keil 4 打开keil工程时又会有问题,本方案介绍如何让Keil5可以兼容keil4并打开Keil4的项目。第一步:分别安装keil 4 和keil 5,keil 5安装同keil 4,分别破解后,文件夹显示如下keil 5第二...
Cortex‐M3和Cortex‐M0是否都能位带操作 最近在进行stm32l011f4的编程,想到stm32有位带操作,便想试一试,但是事与愿违,先贴下位带操作代码Cortex‐M0的位带操作代码//IO输出方向设置#define SDA_IN() {GPIOA->MODER&=0XFFF1FFFF;} //PA_10设置成输入#define SDA_OUT() {GPIOA->MODER&=...
STM32CubeMX安装教程 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用。STM32CubeMX几乎覆盖了STM32 全系列芯片。 工具/原料 1. Java运行环境可以到 Java 官网 www.java.com下载最新的 Java 软件; 2.STM3...
列表的应用实例——用Python实现简单的通讯录 Python3 列表序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以...
Python中for,while循环的使用 Python中for,while和c语言中的使用方法不太相同。while 循环:Python中while语句的一般形式:while 判断条件: 语句同样需要注意冒号和缩进。另外,在Python中没有do..while循环。for 循环:Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的一般格式如下:for &...
PIC16F630使用PICkit程序下载使用方法 PIC16F630程序下载使用说明1 PIC16F630与下载器PIC kit的连接 图1 图 2 连接说明:图2中的1脚连接图1的2脚; 4脚连接图1的1脚; 12脚连接图1的5脚; 13脚连接图1的4脚; 14脚连接图1的3脚。 ...
c语言输出CSV文件 先来看看百度百科的解释吧1 百度百科:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是...
数字图像处理-各种边缘检测算子的比较研究(1概况以及边缘检测简介) .1 边缘检测技术概况 计算机视觉处理可以看作是为了实现某一任务从包含有大量的不相关的信息中抽出对我们有用的信息。这就意味着要扔掉一些不必要的信息,所以我们需要尽可能利用物体的不变性质。而边缘就是最重要的不变性质:光线的变化显著地影响了一个区域的外观,但是不会改变它的边缘。最重要的是人的视觉系统也是对边缘最敏感的。边缘是图像的最基本特征。所谓边缘,是指图像中灰度发生急剧变化的区域,或者...