前言上一篇文章,我们讲解了图像处理中的阈值函数,这一篇文章我们来做膨胀和腐蚀函数。膨胀与腐蚀说概念可能很难解释,我们来看图,首先是原图:膨胀以后会变成这样:腐蚀以后则会变成这样:看起来可能有些莫名其妙,明明是膨胀,为什么字反而变细了,而明明是腐蚀,为什么字反而变粗了。实际上,所谓膨胀应该指:较亮色块膨胀。而所谓腐蚀应该指:较亮色块腐蚀。上面图里面,由于背景白色是较亮色块,所以膨胀时就把黑色较暗色块的字压扁了……相反腐蚀时,字就吸水膨胀了……用数学公式表示就
系统 2019-08-12 01:32:03 2722
一步步理解Linux之中断和异常作者:gaopenghigh,转载请注明出处。(原文地址)中断和异常的概念*中断:硬件通过中断来通知内核。中断是一种电信号,由硬件设备生成,并送入中断控制器的输入引脚中,中断控制器会给CPU发送一个电信号,CPU检测到这个信号,就中断当前的工作转而处理中断。每个中断都通过一个唯一的数字标志。这些中断值称为中断请求(IRQ,InterruptReQuest)线。*异常:当CPU执行到由于编程失误而导致的错误指令(比如被0除)的
系统 2019-08-12 01:32:01 2722
PythonGIL(GlobalInterpreterLock(全局解释器锁))1:进程里面多个线程,线程共享A=102:Python解释器,A改完值之后会传回进程容器,为了防止A和B同时修改A的值引起的错误,加入锁,能保证A修改时,B和C不能修改3:通过C语言调用底层命令与操作系统进行交互,然后OS再和硬件进行交互什么是CPU密集型、IO密集型IO密集型(I/Obound):指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分状况是CPU
系统 2019-09-27 17:55:32 2721
思路:1.国际象棋盘如图1,是8行8列,程序设i为行,遍历1到8,j为列,也遍历1到82.发现奇数行是白格开始,偶数行是黑格开始,故在开始每一行画星号时进行一个判断,是先画星号还是先画黑格3.在遍历完每一行后要输出一个回车,4.程序结果图如图2图1#输出国际象棋棋盘8*8foriinrange(1,9):#i是列j是行forjinrange(1,9):ifi%2==1:print('*',end='')#每一行不能输出空格ifi%2==0:print('*
系统 2019-09-27 17:53:09 2721
最近比较烦呀,整个项目现在就2个人做了,我还要参与另外的一个项目的开发,每天上班写代码的时间没多少,光扯皮,处理维护问题了,哎,这个项目太依赖外围系统,接口就100多个,我们的项目又是面向公众的,后端系统一出问题,全部都反映到我们的项目上了,p大点事就来投诉,你丫吃饱了撑的呀?用另外的一个同事的话就是:服务宕了,会死人呀??算了,不发牢骚了,工作还是要做的,最近公司的另外一个项目马上要上了,项目经理给我两个机子,让装上操作系统和web服务器,数据库,以及s
系统 2019-08-29 23:49:13 2721
简单CSShack:区分IE6、IE7、IE8、Firefox、Opera方法一:跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使CSShack技术进行浏览器区分是实现跨浏览器访问一个好方法。CSSHack技术有很多,具体可以查看:本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测试结果:———————
系统 2019-08-29 23:26:04 2721
1)从FormBean复制值到JavaBean或者互相复制.TdepartmentFormdeptForm=(TdepartmentForm)form;Tdepartmenttdepartment=newTdepartment();BeanUtils.copyProperties(tdepartment,deptForm);2)复制实体(实体一般是动态的代理类)为ValueObject防止原始实体的值被更新掉TproviderbillbillVO=newT
系统 2019-08-29 22:55:19 2721
以前项目中写过类似的定时器,今天复习1下,自己建了个工程.实现原理:创建servlet,应用服务器自动加载此servlet,在web.xml设置定时器的各个参数开发工具:myeclipse6.0应用服务器:tomcat6.01、创建web工程TestTimer2、创建servlet=>com.billy.servlet.TestServlet.javapackagecom.billy.servlet;importjava.io.IOException;im
系统 2019-08-29 22:28:22 2721
转载:http://java.chinaitlab.com/line/779782.html要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下:publicsynchronizedvoidrun(){}从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Java类的对象实例,run方法同时只能被一个线程调用,并当前的run
系统 2019-08-12 09:30:27 2721
问题来源:有一个bean为A,一个bean为B。想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值。如果只是在A里单纯的写着:privateBb;privateStringname=b.funb();会报错说nullpointException,因为这个时候b还没被set进来,所以为null。解决办法为如下代码,同时学习下spring中InitializingBean,对象构造方法,init-method的执行顺序。Java代码p
系统 2019-08-12 09:29:42 2721