摘要:
如何分析Android程序的backtrace 最近碰到Android apk crash的问题,单从log很难定位。从tombstone里面得到下面的backtrace。 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 阅读全文
2018年10月11日
2018年7月4日
摘要:
最近一个项目中用到了peterson算法来做临界区的保护,简简单单的十几行代码,就能实现两个线程对临界区的无锁访问,确实很精炼。但是在这不是来分析peterson算法的,在实际应用中发现peterson算法并不能对临界区进行互斥访问,也就是说两个线程还是有可能同时进入临界区。但是按照代码的分析,明明 阅读全文
2018年5月27日
摘要:
最近几个月因为工作接触到了机械臂的项目,突然对机械臂运动方法产生了兴趣,也就是如何控制机械臂的位置和姿态。借用一张网上的图片,应该是ur5的尺寸。我用到的是ur3机械臂,除了尺寸不一样,各关节结构和初始位置和ur5是一样的。 ur机械臂是六自由度机械臂,由D-H参数法确定它的运动学模型,连杆坐标系的 阅读全文
2018年2月1日
摘要:
在一些情况下经常需要用到随机数,而高斯随机数又是最常用到的。这一篇讲一下如何编程生成符合正态分布的高斯随机数,甚至任何其他分布的随机数。 我们知道C语言的标准库函数可以生成符合均匀分布的伪随机数。那么如何生成符合高斯分布的随机数呢?我们知道用逆函数法可以由符合(0,1)均匀分布的随机数得到符合任意分 阅读全文
2017年12月18日
2017年12月11日
2017年9月20日
摘要:
由于squahsfs的一些优点,嵌入系统常常直接使用squashfs作为initrd挂载到/dev/ram,作为rootfs。这里对常见的一些问题进行一些分析。 1. kernel启动出现错误 RAMDISK: Couldn't find valid RAM disk image starting 阅读全文
2017年6月7日
摘要:
腐蚀膨胀运算是数学形态学中的基本运算。数学形态学的基础是集合论,用来表示和描述区域性状很有用。它的应用可以简化图像数据,保持它们的基本形状特性并去除不相干的结构。形态学有四个基本运算:腐蚀,膨胀,开运算和比运算。这里我们实现一种基于腐蚀膨胀运算实现的自适应对比度增强算法。 首先我们看一下腐蚀和膨胀运 阅读全文
2017年3月29日
摘要:
我在应用多线程加速图像处理(具体参见图像处理的多线程计算)的过程中,曾遇到过一个线程同步的问题。多线程对图像不同子块进行处理,再合成。结果发现最终不是全部子块都处理成功,有的子块好像没有被处理。而且发现结果图像中哪个子块没有被处理好像是随机发生的,没有处理的子块个数也不固定。检查程序,确信所有的子块 阅读全文
2017年3月21日
摘要:
传统的Canny边缘检测算法是一种有效而又相对简单的算法,可以得到很好的结果(可以参考上一篇Canny边缘检测算法的实现)。但是Canny算法本身也有一些缺陷,可以有改进的地方。 1. Canny边缘检测第一步用高斯模糊来去掉噪声,但是同时也会平滑边缘,使得边缘信息减弱,有可能使得在后面的步骤中漏掉 阅读全文