pengjc2001
码龄10年
关注
提问 私信
  • 博客:217,039
    217,039
    总访问量
  • 43
    原创
  • 1,397,411
    排名
  • 179
    粉丝
  • 0
    铁粉

个人简介:生命不息,折腾不止。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2015-05-18
博客简介:

pengjc2001的博客

查看详细资料
个人成就
  • 获得75次点赞
  • 内容获得51次评论
  • 获得302次收藏
  • 代码片获得119次分享
创作历程
  • 29篇
    2017年
  • 8篇
    2016年
  • 7篇
    2015年
成就勋章
TA的专栏
  • Halcon
    14篇
  • OpenCV
    8篇
  • Matlab
  • arduino
  • VC++
    16篇
  • 机器视觉
    4篇
  • PLC
    3篇
  • QT
    5篇
  • 心情 杂想
    2篇
  • python
    3篇
  • 机器学习
  • Robotics
    1篇
  • 有限元
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

368人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

VC opencv3.0 找位置

发布资源 2018.08.14 ·
zip

Puma560 机器人DH变换

最近在折腾关节机器人求解问题。要面临的第一个问题就是DH变换,关于puma560机器人的DH变换,不同地方出现不同版本,很是困惑。所以,有必要自己按规则走一遍。
原创
发布博客 2017.04.14 ·
19668 阅读 ·
27 点赞 ·
9 评论 ·
160 收藏

python学习之 list tuple range

# Sequence Type --- list, tuple, range# list 是一个可变序列(mutable sequence), 数据项可具有不同的类型,用','分割数据项,用[]括起来# tuple 是一个不可变序列(inmutable sequence),元素不能修改,数据项可具有不同的类型,用','分割数据项,用()括起来# range 是一个关于数字的不可变序列(inm
原创
发布博客 2017.04.01 ·
1168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python学习之字典

#字典的创建## 1 直接法dict1 = {'Name': 'TianXin','Nickname': 'Lele','Age':3}## 2 使用dict()方法,通过其它映射(字典)或者(键,值)这样的序列对建立items = [('Name','TianXin'),('Nickname','Lele',),('Age',3)]dict2 = dict(items)dict3 =
原创
发布博客 2017.03.31 ·
1001 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一个目前没找到原因的问题

用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 无法解
原创
发布博客 2017.03.30 ·
6545 阅读 ·
0 点赞 ·
3 评论 ·
0 收藏

Windows GDI贴图闪烁解决方法 [转载]

一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。
转载
发布博客 2017.03.15 ·
1150 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

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);
原创
发布博客 2017.03.15 ·
577 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用opencv svm 折腾的识别程序

前面有过用halcon识别字符,现在用opencv折腾下。比较一下排除svm算法的问题,对我们来说就是构建合适的分类数据, 在这还是采用《Mastering OpenCV with Practical Computer Vision》中说的 水平方向字符投影 + 竖直方向字符投影 + 缩小后的字符像素信息矩阵(把它平铺)将所有16个字符的信息 放在 一个 2维矩阵中 16X (characterOriginalWidth + characterOriginalHeight + characterWid
原创
发布博客 2017.03.14 ·
737 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

折腾opencv svm 而想到的

突然觉得要做好识别,重要的点会出现在如何定义特征上面。这个特征就是你喂给算法的数据。一幅图带有的信息量实在太大  如 面积、 轮廓周长、灰度、连通域等等,总之,任何一种良好的描述都可以。 如 某个方向的投影之类。 如何利用好这些特征 才能让机器又快又准的识别 会是 做识别 分类的重要部分或者难点吧。突然想到 数据挖掘 这词了。  有了海量的数据, 如何去发掘 对项目有用的数据。以前研究
原创
发布博客 2017.03.11 ·
803 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何使用opencv中的svm分类器

最近掉进了机器学习的坑了。算法的开发应该是科学家的事,但算法的应用就是工程师的事了。Halcon提供了的工具太自动化了。当你还没意识过来,结果就出来了。想用opencv来实现一个简单的字符识别程序。分类器就选svm吧。(目前就接触了knn svm,但是感觉knn太暴力)。svm提供一种二分法的手段。对于解决是非问题再好不过了。在《Mastering OpenCV with Practical Co
原创
发布博客 2017.03.11 ·
3907 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

Qt QLCDNumber Class 与 halcon ORC识别

突然看到 QLCDNumber 控件,脑子一热,ORC识别有素材了,用QLCD Number 生成  一串16进制的字符。然后用halcon来做识别。1、控件截图操作QPixmap::grabWindow(winId).save(qstring,"bmp");2、随机数生成操作QString LCDNumbers::generateUniqueRandomNum
原创
发布博客 2017.03.04 ·
1750 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

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
原创
发布博客 2017.03.03 ·
1300 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

QThread 子类化 打开相机

QThread subclass 的用法:  1、派生出QThread的子类WorkerThread;2、重写 run() 函数,即线程需要处理的逻辑、事情;3、在调用线程的地方,将该子类实例化,4、链接信号和槽 5、通过调用 对象的start(),启动线程;class WorkerThread : public QThread { Q_OBJECT void ru
原创
发布博客 2017.03.02 ·
865 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

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
原创
发布博客 2017.03.01 ·
1272 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Qt+halcon 第一个程序 QObject类的定时器应用

定时器或线程手段就是用来解决这个问题的。 经过各种资料的搜刮可知,定时器方案又分为:1、QObject类的定时器, 2、定时器类QTimer。线程方案又有四种:1、继承QThread、2、继承QRunnable、3、使用moveToThread、4、使用QtConcurrent::run;关于QObject类的定时器
原创
发布博客 2017.03.01 ·
1671 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

windows程序设计读书笔记之练习一

看完第5章,突然想写一个类cad的程序,先做简单功能描述及可能用到的函数1、画直线,线宽、线形可以设置2、鼠标滚动,放大 缩小, 放大的中心区为鼠标位置。
原创
发布博客 2017.02.25 ·
574 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

windows程序设计读书笔记三

我想我知道为什么CAD软件中,当鼠标移动很快时,图像会跟不上了。鼠标移经窗口的客户区时,Windows系统不会为鼠标经过的每个象素位置都产生WM_MOUSEMOVE消息。程序收到的WM_MOUSEMOVE消息个数取决于鼠标硬件和窗口过程处理鼠标移动的速度。换言之,如果消息队列里还未有处理WM_MOUSEMOVE消息,Windows就不会重复向消息队列中添加该消息。鼠标的捕获如何实现
原创
发布博客 2017.02.22 ·
599 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

windows程序设计读书笔记二

绘图基础这一章强调最多的莫过于 资源的取得 及 释放1、希望在图形输出设备上绘制图形,必须首先获取设备环境(DC)的句柄。在GDI函数中这个句柄作为一个参数,告诉windows在哪个设备上进行绘图。对设备的使用完毕时,必须释放该句柄。a、如果在处理一条消息时获取了视频显示的设备环境,则应该在退出当前窗口过程之前释放它。释放句柄后,它将不再有效。对打印机设备环境句柄,规则并没这么严格。处
原创
发布博客 2017.02.21 ·
645 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

windows程序设计读书笔记一

1、注册窗口类时,类的名称不能重复,当前面已经注册了一个名字的类(lpszClassName),后面的窗口类就不能再用这个名字了。以下代码用 szAppName[] 及szAppName1[] 放置两个类名字符串,若szAppName1[] 的内容与szAppName[]一样时,在第二次注册时不会成功,由GetLastError()的返回值是1410 可以到 〖1410〗-类别已存在。
原创
发布博客 2017.02.20 ·
713 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

亚像素与halcon

朋友发来两个小项目,要求亚像素精度。突然想问几个问题:1、何为亚像素?2、何为亚像素精度?3、使用亚像素测量,系统应注意什么?1、何谓亚像素?面阵摄像机的成像面以像素为最小单位。例如某CMOS摄像芯片,其像素间距为5.2微米。摄像机拍摄时,将物理世界中连续的图像进行了离散化处理。到成像面上每一个像素点只代表其附近的颜色。至于“附近”到什么程度?就很困难解释。两个像素之间有5.2微米的距离,
原创
发布博客 2017.02.14 ·
19444 阅读 ·
8 点赞 ·
3 评论 ·
49 收藏
加载更多