今天在看opencv官方给出的仿射变换计算仿射变换矩阵的文档的时候,发现官方文档中有个很明显的错误,再次给大家提个醒. 官方文档连接: http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html#warpAffine 其中,在说如何计算仿射矩阵的时候, 原文是这样说的: cv::getRotationMatrix2D¶ Comments from the Wiki Ma…
本文前半部分结论存在严重错误,请看最后2015-1-20更新部分. 最近一直在解决线上一个问题,表现是: Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池满了,日志看很多请求超过了1s. 服务器性能很好,Tomcat版本是7.0.54,配置如下: <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="3000&q…
装了一下午的opencv.之前用VS2010装过opencv,当时使用的是cmake编译源码的办法,这个方法好处就是不用每新建一个工程就重新链接opencv库文件.今天装了个VS2013,再装opencv2.4.9的时候(系统是Win7 64位),想利用以前的老办法,试了网上一大堆根据cmake编译的办法就是不行(唉,可惜当时自己没有用博客记录下来怎么弄的).最后,还是根据这篇文章http://my.phirobot.com/blog/2014-02-opencv_configuration_i…
在Ubuntu 16中编译开启NEON优化的Opencv时,遇到libpng编译是使用汇编代码的错误,完整错误见文章末尾.通过查询发现解决方案是安装跨平台编译器,安装代码如下: sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install g++-arm-linux-gnueabihf 在参考1中说的是用OCV源码中的toolchain_fi…
转载自:http://tbfungeek.github.io/2016/03/05/Opencv-%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E9%94%99%E8%AF%AF/ 3.Qt 编写的代码运行时出现类似错误: /usr/local/lib/libopencv_imgcodecs.so.3.1:-1: error: error adding symbols: DSO missing f…
使用opencv时,进行编译时,会出现如上图所示错误,按图示更改就行了(我编译出来的有2处)主要参考 https://blog.csdn.net/fk1174/article/details/70118348 配置环境 macos 10.12 xcode 8.2(8C38)…
仿射变换的基本概念 仿射变换是一种二维坐标(x, y)到二维坐标(u, v)的线性变换,其数学表达式形式如下: 对应的齐次坐标矩阵表示形式为: 仿射变换保持了二维图形的“平直性”(直线经仿射变换后依然为直线)和“平行性”(直线之间的相对位置关系保持不变,平行线经仿射变换后依然为平行线,且直线上点的位置顺序不会发生变化). 非共线的三对对应点可以确定一个唯一的仿射变换. 几种常见的仿射变换形式: 平移变换 数学形式: 矩阵形式: 缩放变换 矩阵形式: 旋转变换 矩阵形式: 仿射变换形式汇总图: O…
JavaScript 是一种面向对象的动态语言,它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适 用于 JavaScript.需要注意的一个主要区别是 JavaScript 不支持类,类这一概念在 JavaScript 通过对象原型 (object prototype)得到延续(有关 ES6 类的内容参考这里Classes).另一个主要区别是 JavaScript 中的 函数也是对象,JavaScript 允许函数在包含可执行代码的同时,能像其他对象一样被传递.1,scrip…
第一次在python中使用OpenCV(cv2),运行时报错opencv-3.3.1\modules\highgui\src\window.cpp:339: error: (-215) size.width>0 && size.height>0 in function cv::imshow 源码如下: import cv2 img = cv2.imread('路.jpg') cv2.namedWindow("w") cv2.imshow('w',img) c…
#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src,dst; Mat map_x, map_y; src = imread("3 input.bmp"); imshow("原图像",…
安装opencv的时候,出现numpy的版本不匹配,卸载了不匹配的版本,重新安装却是一点用都没有,后面尝试了一下这里的提示pip更新,居然安装成功了,看来pip的版本过低真是误事啊. 报错是: Could not find a version that satisfies the requirement numpy==1.13.3 (from versions: 1.14.5, 1.14.6, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4,…
1.载入图片时内存溢出情况,如图: 分析及解决办法:因为载入的图片太大,导致内存溢出.所以更换小一点的图片就行了. 2.…
1 numpy 概述 numpy是Numerical Python的缩写,释义为数值的Python numpy弥补了作为通用编程语言的Python在数值计算方面能力弱.速度慢的不足(numpy的底层是通过C语言编写的甚至汇编语言实现的,可以直接操作CPU) numpy拥有丰富的数学函数.具有矢量运算能力,快速.节省空间,,强大的多维数组(矩阵运算)和优异的运算能力,此外也针对数组运算提供大量的数学函数库 numpy的存储效率和I/O性能优胜于python numpy的模块是用C语言编写的,故不支…
2D图像几何基元 一般的,表示一个2d几何基元只用两个维度(比如x,y)就可以表示了,但是在计算机视觉研究中,为了统一对2d几何基元的操作(后面讲到的仿射,透射变换),一般会以增广矢量的方式表示几何基元. 齐次坐标将原本n维的坐标用一个n+1维的坐标表示,其两个基本作用为:     1. 区分n维空间的点和向量,一个点的第n+1维为非零值,而向量的n+1维为0     2. 统一几何基元的旋转,平移,拉伸,投影等操作(只用一个矩阵就可以表示) 2D点:2D点的齐次坐标表示为:,其中仅在尺度上不同…
二维平面中,图像的几何变换有等距.相似.仿射.投影等,如下所示: 1  图象几何变换 1.1  等距变换 等距变换 (Isometric Transformation),是一种二维的刚体变换,可理解为旋转和平移的组合 $\quad \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta & t_x \\ \sin \theta & \cos \theta &am…
因为软件竞赛的项目会用到Opencv fo rAndroid,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 OpenCV-2.4.11-android-sdk 接下来主要是详细的讲解每一步的配置,然后再最后我会放上我做的一个示例项目 1.首先是下载OpenCV-2.4.11-android-sdk 不知道为什么之前上Opencv官网发现Android部分挂了,找了半天没找着下载的地方,最后终于在github…
因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 OpenCV-2.4.11-android-sdk 接下来主要是详细的讲解每一步的配置,然后再最后我会放上我做的一个示例项目 1.首先是下载OpenCV-2.4.11-android-sdk 不知道为什么之前上Opencv官网发现Android部分挂了,找了半天没找着下载的地方,最后终于在Source…
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5*   from T_Employee order by FSalary desc)order by FSalary 在sql中执行出现错误 更正:select * from T_Employee where FNumber  not in (select top 5 FNumber from T_Em…
用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法: 1):通过QrCodeNet(Gma.QrCodeNet.Encoding.dll)来实现 1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示: 1.2):具体生成二维码方法如下 private void GenerateQRByQrCodeNet() { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); Q…
RAM和ROM总结 一.在解释之前先备注一些缩写的全称便于记忆: 1.EPROM:(Electrically Programmable Read-Only-Memory)电可编程序只读存储器 2.EEPROM(Electrically Erasable Programmable Read - Only Memory) 电可擦可编程只读存储器 3.SRAM(Static RAM)静态RAM 4.DRAM(Dynamic RAM)动态RAM 5.DDR SDRAM (Double Date-Rate…
在网上找了各种安装MongoDB的教程,总是会出现一些bug,就自己总结了,亲测正确,MongoDB的安装再也不是一件麻烦的事情了~ 1.下载好跟自己电脑适合的安装包,选择Custom自定义安装,将安装位置改为C:\Mongo(或者其他盘的根目录下) 2.安装后进入C:\Mongo创建data文件夹,进入data,创建db(存放数据库)文件夹和log(存放日志)文件夹. 3.进入C:\Mongo\bin文件夹,命令行下输入以下命令运行MongoDB 服务器 mongod.exe --dbpath…
一. NAND和NOR的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM 和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通 过接口轻松升级.但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存.相"flash存储器"经常可以与相"NOR存储器"互换 使用.许多…
因工作需要,遂把以前的2008升级到r2,升级失败,具体原因忘了,卸载2008,清了注册表删了文件,结果安装的时候失败了,如下图: 下一步-有错误日志和错误的序列号,错误日志在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log里面 然后错误日志里面有具体错误日志的地址: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20161212_193916\…
对于flash的认识,比较肤浅,在网上找了些资料,感谢 http://blog.csdn.net/lin364812726/article/details/18815395  的博主, 将其博文转载过来,以便以后查看. flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程. flash按照内部存储结构不同,分为两种:nor flash和nand flash.(1)nor flash:像访问SDRAM一样,按照数据/地址总线直接访问, 可写的次数较少,速度也慢,由于其读时序类似…
原文链接:http://www.nodebeginner.org/index-zh-cn.html Node入门 作者: Manuel Kiessling翻译: goddyzhao & GrayZhang & MondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行…
转自:http://blog.sina.com.cn/s/blog_65d6476a0101cj8n.html RFC(Request For Comments)-意即“请求注解”,包含了关于Internet的几乎所有重要的文字资料.如果你想成为网络方面的专家,那么RFC无疑是最重要也是最经常需要用到的资料之一,所以RFC享有网络知识圣经之美誉.通常,当某家机构或团体开发出了一套标准或提出对某种标准的设想,想要征询外界的意见时,就会在Internet上发放一份RFC,对这一问题感兴趣的人可以阅读…
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一般化的通用体系结构和指令集,以支持复杂的运算并易于新开发功能的添加.一般而言,在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核.  MPU 通常代表一个 CPU(中央处理器) ,而 MCU 则强调把中央处理器.存储器和外围电路集成在一个芯片中.嵌入式微控制器一般由一个 CPU…
NANDFLASH: Nand-flash内存是flash内存的一种,1989年,东芝公司发表了NAND flash结构.其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案.Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机.MP3随身听记忆卡.体积小巧的U盘等. NORFLASH: NOR flash是intel公司1988年开发出了NOR flash技术.NOR的特点是芯片内执行…
分类 JS学习   发布 ourjs  2013-12-02 注意 转载须保留原文链接,译文链接,作者译者等信息.     作者: Manuel Kiessling  翻译: goddyzhao & GrayZhang & MondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.…
转自 http://m.blog.chinaunix.net/uid-30077524-id-5570244.html 文章对这几个东西讲得很清楚,值得收藏. 寄存器 寄存器是中央处理器内的组成部份.它跟CPU有关.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC).在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC). 存储器 存储器范围最大,它几乎涵盖了所有关于存储的范畴.你所说的寄存器…