📄 version.txt
字号:
====================
==== ImgTrans ====
====================
1001
====(2002.04.03)
使用CAsyncSocket的TCP/IP协议来进行网络数据传输,并规定每个数据包可携带的图象数据大小为PackageSize,现在只能处理一个数据包一张图象数据的情况,由于当数据过大时,发送出的数据会被分割成多块,所以现在传输的图象数据大小有限制,Bitmap24约为300-400Kb。
1002
====(2002.04.17)
对于比较大的图象数据,将其分割成大小为PackageSize的大小后,依次传输,并指明其Index和是否最后一个包,在Client端根据其Index将数据组装起来,如果是最后一个包的话就将它显示出来。
但是不知道为什么,Server端发送许多包后,Client端之响应了一次OnReceive事件,现在只能靠在发送时做一人为延时来解决。
1003
====(2002.04.19)
改用CSocket来进行数据传输,以达到数据的同步传输。
制作了Client的连接设置窗口,用来制定要连接的Server的IP地址。
当使用"127.0.0.1"测试时发送的Package只要在20000Bytes左右即可,可是当使用"192.168.0.1"测试时,Package即使设为1000Bytes也会经常出现数据读取错误!
1004
====(2002.04.19)
总算知道了怎样在CAsyncSocket中使用阻塞模式,因此改回使用CAsyncSocket。
经测试,在本机上发送数据时,数据包大小4380Bytes时比较稳定,可是在广域网上接收到的数据大小却为1460Bytes,不知道怎么解决。
1005
====(2002.04.20)
修改了Client端接收数据的处理方法,在一循环内不断收取数据直到结束,并且对接收到的数据是否超出边界作了判断,减少了程序意外退出的概率。
1006
====(2002.05.14)
将图象压缩解压功能独立出来做成JpegProc.dll。
1007
====(2002.05.15-2002.05.17)
制作了虚拟采集与发送图象的线程,并将内存的分配释放操作放在循环外,压缩与解压中都采用事先分配一个足够大的内存,以后一直反复使用该内存,从而避免反复分配内存造成的内存碎片。
经测试,该程序在本机与局域网上已完全能正常工作,广域网还未测试。
制作了ImgSample.dll用来仿真图象的采集,它根据预先定义好的SampleList.ini文件中的图片数及图片路径,来依次读入列表中的图片,以供网络传输用。
1008
====(2002.05.17-2002.05.18)
重新编写了server端程序,在主程序中显示4个图象显示窗口,可以同时采集4个通道的图象。
制作了图像处理库ImgProc.dll,并自己编写了生成缩略图的函数,但该函数只支持宽度为4的整数倍的图象。
支持缩略图的亮度调整。
修正了server端显示图象时不断消耗内存的bug。
制作了多用户的功能,server支持多个client同时连接到相同或不同的channel,并且在client退出时自动将其相映的socket从队列中移除。
1009
====(2002.05.24-2002.05.26)
修正了在不同系统上,采样缩略图显示位置不正确的bug。
将四个采样过程分别放在独立的线程内,这样即使一个采样窗口由于等待client而阻塞,也不会影响其它的采样窗口。为此重写了JpegProc.dll库,因为如果几个Compress被同时调用,会造成JPEG_CORE_PROPERTIES中的内容不正确,因此共提供四个JPEG_CORE_PROPERTIES,供不同的采样窗口使用,这样就避免了冲突,将新的库改名为ImgCompress.dll,同时提供只支持一个JPEG_CORE_PROPERTIES的ImgDecompress.dll库,分别提供压缩与解压缩的功能。
修改了ImgSample.dll,使其自动读取本目录下的配置文件,而不需要用参数将文件名传给它了。
制作了支持数据库的动态连接库Enroll.dll,可记录病人信息以及图片,由于在dll中使用了mfc,所以不知道为什么程序在debug方式下无法正常工作。使用EnrollTest程序测试比较正常,但是在TransServer中使用该库时,会引起整个程序崩溃,至今无法解决。
制作了初步的图象处理功能。
1010
====(2002.05.27)
Enroll.dll中的保存文件到数据库功能还有问题,保存后原数据区内容好象会被改写,现在每次要保存时用临时变量将数据复制出来后再赋给数据库变量,虽然解决了该问题,但是很明显会造成内存碎片。
原来ImgCompress.dll和ImgDecompress.dll中使用全局的JPEG_CORE_PROPERTIES来保存Jpeg图象信息,但是这样当TransClient接收图片后的解压和Enroll中图片浏览的解压功能同时使用时,会造成严重的冲突问题,所以现在改为这些函数使用的JPEG_CORE_PROPERTIES都作为参数传递进来,基本解决了冲突问题。
使用TransClient调用Enroll.dll的数据库功能时基本正常,但是使用TransServer调用时还是造成程序崩溃。
1011
====(2002.05.29-2002.05.30)
图象处理的功能独立做成一个可执行文件,在server端和client端都可以通过ShellExecute来打开,这样做任何图象处理的工作都不会影响到server和client的操作,减少了系统的不稳定因素。
制作了图象采样频率的设定功能。
在采样窗口的左上角显示采样的每秒帧数。
1012
====(2002.06.07)
在client端也显示图象的每妙帧数。
为了防止client端收到图象后显示时的闪烁,不使用UpdateAllViews()命令来显示,而是直接自己调用View的显示函数。
在client显示数据的每秒传输字节数。
为了使图象的fps和bps显示比较平稳,实际显示时,采用前后三个数据的平均值。
1013
====(2002.06.10-2002.06.12)
修改了ImgCompress.dll的压缩函数的参数,增加了可以让主程序设定压缩比的参数,并在主程序中添加了该修改压缩比的功能。
制作了JpegQualityTest程序,帮助测试图象压缩解压的ImgCompress.dll和ImgDecompress.dll的压缩性能。
基本完成了论文,可惜改用小四字体后非常难看。
整个程序到此基本告一段落。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -