python学习之 list tuple range # Sequence Type --- list, tuple, range# list 是一个可变序列(mutable sequence), 数据项可具有不同的类型,用','分割数据项,用[]括起来# tuple 是一个不可变序列(inmutable sequence),元素不能修改,数据项可具有不同的类型,用','分割数据项,用()括起来# range 是一个关于数字的不可变序列(inm
python学习之字典 #字典的创建## 1 直接法dict1 = {'Name': 'TianXin','Nickname': 'Lele','Age':3}## 2 使用dict()方法,通过其它映射(字典)或者(键,值)这样的序列对建立items = [('Name','TianXin'),('Nickname','Lele',),('Age',3)]dict2 = dict(items)dict3 =
一个目前没找到原因的问题 用np.linalg.solve(a, b) 解方程的问题。错误消息: r = gufunc(a, b, signature=signature, extobj=extobj)TypeError: No loop matching the specified signature and casting was found for ufunc solve1。既然 Ax=b 无法解
Windows GDI贴图闪烁解决方法 [转载] 一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。
windows程序设计读书笔记四 1、建立一个内存DC hdcMem = CreateCompatibleDC(hdc); 此时,内存DC的显示表面是单色、1个像素宽、1个像素高。即显示表面仅仅1位。2、CreateCompatibleBitmap创建一个与设备兼容的位图, ::GetClientRect(hwnd, &rc); hBitmap = CreateCompatibleBitmap(hdc, rc.right-rc.left, rc.bottom-rc.top);
用opencv svm 折腾的识别程序 前面有过用halcon识别字符,现在用opencv折腾下。比较一下排除svm算法的问题,对我们来说就是构建合适的分类数据, 在这还是采用《Mastering OpenCV with Practical Computer Vision》中说的 水平方向字符投影 + 竖直方向字符投影 + 缩小后的字符像素信息矩阵(把它平铺)将所有16个字符的信息 放在 一个 2维矩阵中 16X (characterOriginalWidth + characterOriginalHeight + characterWid
折腾opencv svm 而想到的 突然觉得要做好识别,重要的点会出现在如何定义特征上面。这个特征就是你喂给算法的数据。一幅图带有的信息量实在太大 如 面积、 轮廓周长、灰度、连通域等等,总之,任何一种良好的描述都可以。 如 某个方向的投影之类。 如何利用好这些特征 才能让机器又快又准的识别 会是 做识别 分类的重要部分或者难点吧。突然想到 数据挖掘 这词了。 有了海量的数据, 如何去发掘 对项目有用的数据。以前研究
如何使用opencv中的svm分类器 最近掉进了机器学习的坑了。算法的开发应该是科学家的事,但算法的应用就是工程师的事了。Halcon提供了的工具太自动化了。当你还没意识过来,结果就出来了。想用opencv来实现一个简单的字符识别程序。分类器就选svm吧。(目前就接触了knn svm,但是感觉knn太暴力)。svm提供一种二分法的手段。对于解决是非问题再好不过了。在《Mastering OpenCV with Practical Co
Qt QLCDNumber Class 与 halcon ORC识别 突然看到 QLCDNumber 控件,脑子一热,ORC识别有素材了,用QLCD Number 生成 一串16进制的字符。然后用halcon来做识别。1、控件截图操作QPixmap::grabWindow(winId).save(qstring,"bmp");2、随机数生成操作QString LCDNumbers::generateUniqueRandomNum
QObject::moveToThread() 打开相机 这也许是Qt推荐的方法吧。The QThread class provides a platform-independent way to manage threads.QThread类提供了一个跨平台的方式管理线程A QThread object manages one thread of control within the program.QThreads begin exe
QThread 子类化 打开相机 QThread subclass 的用法: 1、派生出QThread的子类WorkerThread;2、重写 run() 函数,即线程需要处理的逻辑、事情;3、在调用线程的地方,将该子类实例化,4、链接信号和槽 5、通过调用 对象的start(),启动线程;class WorkerThread : public QThread { Q_OBJECT void ru
Qt+halcon 第二个程序 定时器类QTimer的应用 以下内容来源于帮助说明The QTimer class provides repetitive and single-shot timers.The QTimer class provides a high-level programming interface for timers. To use it, create a QTimer, connect its timeout() si
Qt+halcon 第一个程序 QObject类的定时器应用 定时器或线程手段就是用来解决这个问题的。 经过各种资料的搜刮可知,定时器方案又分为:1、QObject类的定时器, 2、定时器类QTimer。线程方案又有四种:1、继承QThread、2、继承QRunnable、3、使用moveToThread、4、使用QtConcurrent::run;关于QObject类的定时器
windows程序设计读书笔记三 我想我知道为什么CAD软件中,当鼠标移动很快时,图像会跟不上了。鼠标移经窗口的客户区时,Windows系统不会为鼠标经过的每个象素位置都产生WM_MOUSEMOVE消息。程序收到的WM_MOUSEMOVE消息个数取决于鼠标硬件和窗口过程处理鼠标移动的速度。换言之,如果消息队列里还未有处理WM_MOUSEMOVE消息,Windows就不会重复向消息队列中添加该消息。鼠标的捕获如何实现
windows程序设计读书笔记二 绘图基础这一章强调最多的莫过于 资源的取得 及 释放1、希望在图形输出设备上绘制图形,必须首先获取设备环境(DC)的句柄。在GDI函数中这个句柄作为一个参数,告诉windows在哪个设备上进行绘图。对设备的使用完毕时,必须释放该句柄。a、如果在处理一条消息时获取了视频显示的设备环境,则应该在退出当前窗口过程之前释放它。释放句柄后,它将不再有效。对打印机设备环境句柄,规则并没这么严格。处
windows程序设计读书笔记一 1、注册窗口类时,类的名称不能重复,当前面已经注册了一个名字的类(lpszClassName),后面的窗口类就不能再用这个名字了。以下代码用 szAppName[] 及szAppName1[] 放置两个类名字符串,若szAppName1[] 的内容与szAppName[]一样时,在第二次注册时不会成功,由GetLastError()的返回值是1410 可以到 〖1410〗-类别已存在。
亚像素与halcon 朋友发来两个小项目,要求亚像素精度。突然想问几个问题:1、何为亚像素?2、何为亚像素精度?3、使用亚像素测量,系统应注意什么?1、何谓亚像素?面阵摄像机的成像面以像素为最小单位。例如某CMOS摄像芯片,其像素间距为5.2微米。摄像机拍摄时,将物理世界中连续的图像进行了离散化处理。到成像面上每一个像素点只代表其附近的颜色。至于“附近”到什么程度?就很困难解释。两个像素之间有5.2微米的距离,