摘要: 1.自定义标签打印软件出售简单说明: 为朋友做的一个标签打印软件,功能简单好用,关键是能自定义,你想设计成什么样都可以。主要适用:合格证、价格标签、服装吊牌等。打印介质:普通不干胶纸,A4或其他尺寸。 其他:目前是设计和打印标签,可以按客户需求增加其他功能。2.屏幕共享软件说明:共享一台电脑的桌面给其他人看,像Net meetting,但本软件可以共享给多人看,管理主机可以指定共享某一台主机的桌面给其他所有人看。如果有需要可以增加语音功能,即把任何一个参会者的麦克风语音传送给所有参会者的电脑播出,可以实现共享拍板功能。相当于远程会议。适用环境:会议室,培训中心,可以不用投影仪,而直接把桌面显示
阅读全文
posted @ 2011-10-20 14:57 81 阅读(13) 评论(0)
编辑
QCIF、 CIF、2CIF、DCIF、D1(4CIF)格式介绍
QCIF:176×144
CIF:352×288
2CIF:704*288
DCIF:528×384
4CIF(D1):704×576
CIF是常用的标准化图像格式(Common Intermediate Format)。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。CIF = 352×288像素
QCIF全称Quarter common intermediate format。QCIF也是常用的标准化图像格式。在H.323中,规定QCIF = 176×144像素。
CIF格式具有如下特性:
(1) 电视图像的空间分辨率为家用录像系统(Video Home System,VHS)的分辨率,即352×288。
(2) 使用非隔行扫描(non-interlaced scan)。
(3) 使用NTSC帧速率,电视图像的最大帧速率为30 000/1001≈29.97幅/秒。
(4) 使用1/2的PAL水平分辨率,即288线。
(5) 对亮度和两个色差信号(Y、Cb和Cr)分量分别进行编码,它们的取值范围同ITU-R BT.601。即黑色=16,白色=235,色差的最大值等于240,最小值等于16。
下面为5种CIF 图像格式的参数说明。参数次序为“图象格式 亮度取样的象素个数(dx) 亮度取样的行数 (dy) 色度取样的象素个数(dx/2) 色度取样的行数(dy/2)”。
sub-QCIF 128×96 64 48
QCIF 176×144 88 72
CIF 352×288 176 144
4CIF 704×576 352 288(即我们经常说的D1)
16CIF 1408×1152 704 576
目前监控行业中主要使用Qcif(176×144)、CIF(352×288)、HALF D1(704×288)、D1
(704×576) 等几种分辨率,CIF录像分辨率是主流分辨率,绝大部分产品都采用CIF分辨率。目前市场接受CIF分辨率,主要理由有四点:1、目前数码监控要求视频码 流不能太高;2、视频传输带宽也有限制;3、使用HALF D1、D1分辨率可以提高清晰度,满足高质量的要求,但是以高码流为代价的。在现阶段,出现了众多D1的产品,但市场份额非常小;4、采用CIF分辨率, 信噪比在32db以上,一般用户是可以接受的,但不是理想的视频图像质量。目前业内人士正在尝试用HALF D1来寻求CIF、D1之间的平衡。但随着单块硬盘的容量达到750GB甚至1000GB,而国内的大部分DVR已经可以做到连接8块1000GB的硬 盘,故D1逐渐会变成时常的主流。
DCIF分辨率是什么?
经过研究发现一种更为有效的监控视频编码分辨率(DCIF),其像素 为528×384。DCIF分辨率的是视频图像来历是将奇、偶两个HALF D1,经反隔行变换,组成一个D1(720*576),D1作边界处理,变成4CIF(704×576),4CIF经水平3/4缩小、垂直2/3缩小,转 换成528×384.528×384的像素数正好是CIF像素数的两倍,为了与常说的2CIF(704*288)区分,我们称之为DOUBLE CIF,简称DCIF。显然,DCIF在水平和垂直两个方向上,比Half D1更加均衡。
为什么选用DCIF分辨率?
数字化监控行业对数字监控产品提出两项要求:首先要求数据量低,保证系统能够长时间录像和稳定实时的网络传输;其次要求回放图像清晰度高,满足对细节的要求。而DCIF分辨率在目前的软硬件平台上,能很好的满足以上两项要求。
Half D1分辨率已被部分产品采用,用来解决CIF清晰度不够高和D1存储量高、价格高昂的缺点。但由于他相对于CIF只是水平分辨率的提升,图像质量提高不是特别明显,但码流增加很大。
经 过对大量视频信号进行测试,基于目前的视频压缩算法,DCIF分辨率比Half D1能更好解决CIF清晰度不够高和D1存储量高、价格高昂的缺点,用来解决CIF和4CIF,特别是在512Kbps码率之间,能获得稳定的高质量图 像,满足用户对较高图像质量的要求,为视频编码提供更好的选择。
CIF清晰度不够高和D1存储量高、价格高昂的缺点分辨率,静态回放分辨率理论 上最高可达360TVline的图像质量,超过模拟监控中标准VHS磁带录像机280TVline的图像水平,达到公安部安防行业视频标准二级和三级项目 的清晰度要求,满足绝大部分视频监控的要求。
什么是D1?
做闭路电视监控系统这一行久了,大家都以为D1是硬盘录像机显示、录像、回放的分辨率,实际上不是的,D1是数字电视系统显示格式的标准,共分为以下5种规格:
D1:480i格式(525i):720×480(水平480线,隔行扫描),和NTSC模拟电视清晰度相同,行频为15.25kHz,相当于我们所说的4CIF(720×576)
D2:480P格式(525p):720×480(水平480线,逐行扫描),较D1隔行扫描要清晰不少,和逐行扫描DVD规格相同,行频为31.5kHz
D3:1080i格式(1125i):1920×1080(水平1080线,隔行扫描),高清放松采用最多的一种分辨率,分辨率为1920×1080i/60Hz,行频为33.75kHz
D4:720p 格式(750p):1280×720(水平720线,逐行扫描),虽然分辨率较D3要低,但是因为逐行扫描,市面上更多人感觉相对于1080I(实际逐次 540线)视觉效果更加清晰。不过个人感觉来说,在最大分辨率达到1920×1080的情况下,D3要比D4感觉更加清晰,尤其是文字表现力上,分辨率为 1280×720p/60Hz,行频为45kHz
D5:1080p格式(1125p):1920×1080(水平1080线,逐行扫描),目前民用高清视频的最高标准,分辨率为1920×1080P/60Hz,行频为67.5KHZ。
其 中D1 和D2标准是我们一般模拟电视的最高标准,并不能称的上高清晰,D3的1080i标准是高清晰电视的基本标准,它可以兼容720p格式,而D5的 1080P只是专业上的标准,并不是民用级别的,上面所给出的60HZ只是理想状态下的场频,而它的行频为67.5KHZ,目前还没有如此高行频的电视问 世,实际在专业领域里1080P的场频只有24HZ,25HZ和30HZ。
需要指出的一点是,D端子是日本独有的特殊接口,国内电视几乎没有带这种接口的,最多的是色差接口,而色差接口最多支持到D4,理论上肯定没有HDMI(纯数字信号,支持到1080P)的最高清晰度高,但在1920:1080以下分辨率的电视机上,一般也没有很大差别。
国内主流的硬盘录像机(DVR,Digital Video Recording)采用什么分辨率?怎样计算硬盘容量?
国内主流的硬盘录像机采用两种分辨率:CIF和4CIF(D1),分为两种型号。
硬 盘录像机常见的路数有1路、2路、4路、8路、9路、12路和16路。最大可以连接8块2000GB的硬盘,总容量可高达1.6T(目前市面上最大的硬盘 在1000GB左右),如果采用CIF分辨率,通常每1路的硬盘容量为180MB~250MB/小时,通常情况下取值200MB/小时;如果是D1的分辨 率每小时录像需要的硬盘容量为720MB~1000MB/小时,通常情况下为了减少硬盘的容量可以按照500MB/小时计算,帧率智能设置比25fps少 一些,码流也要少一些!相信大家可以计算出一台装满8块500GB的16路硬盘录像机可以录像多长时间了吧?
计算举例:8路CIF格式24小时不间断录像30天所需硬盘容量?
8路×200M×24小时×30天×1024M = 1125G
posted @ 2012-02-07 10:04 81 阅读(4) 评论(0)
编辑
摘要: 目录前言 1. 对外语学习的主要误区 2. 造成“哑巴英语”的最主要原因 3. 英语环境的问题 4. 特殊群体 5. 语言关键期之争 6. 语言条件反射 7. 关于记忆力 8. 中国“英”雄 9. 二律背反? 10. 世纪之战 11. “学得”-“获得”之辩 12. 克氏理论实践篇 第一阶段、早期(Early Stage) 1. 看图识音 2. 全身反应法(Total Physical Response) 第二阶段、提高期(Upping the Ante) 1. 听力内容设计 2. 纽约人在北京 v.s 北京人在纽约 3. 寻找人工替...
阅读全文
posted @ 2012-01-12 22:14 81 阅读(6) 评论(0)
编辑
1. 扇三角
把32开的书纸叠成三角形,每人出一个放在地上玩家轮流用手扇风,翻了就是自己赢的,收起来,只到地上的三角赢完,然后开始下一轮。
2. 打牌子(音)
把纸叠成正方形,两个人玩,每人出一个,对方的牌子放在地上,拿着自己的碰击对方地上的牌子(或通过撞击地方产生风来吹翻),如果对方的翻了则赢过来。
3. 打玻璃珠
挖一小坑,距小坑画一条线,大家从线上开始把珠子用手弹出来,目标是小坑,先进小坑的则变成防守方,把珠子拿在手中,等对方珠靠近小坑时,防守方可以选择打还是不打,不打的话,对方继续往小坑弹,打的话则可以从小坑后打击对方,直到对方也进入小坑为止。防守方也有风险,如没打到对方的珠子,或打的距离太近等,则需要从线上开始。具体玩法我也记不大清了。
4.拦水坝
在有流水的小沟中,每人用泥巴拦水坝,水坝可以有泄洪口。然后在最上流拦坝,等有一定水量后突然打开,洪水直接下泄,看谁修改的水坝能抵挡住洪水的冲击。
5. ban响泡
属于玩泥巴类的,用泥巴捏成盆子样,然后用力往平地上扔,开口向下,由于气压盆子的底会被炸开并有砰的一声。对方需用泥巴补住开口的大小,炸开的越大,对方需的泥巴越多,算是赢的,很好玩。
6. 捏泥人
这个很常见,用泥巴捏成人或其他动物的形状,然后用手拿着进行一定的表演。
7.叠纸飞机
有各种叠法,然后往天上扔,看谁的飞机飞的时间长、远、平稳,人多时一起玩,很热闹。
8.捉迷藏
一般晚饭后,有月光,同伴们集中在一起,分成两组,一组藏(在村子里随便找地方),一组捉(到处找),再找一棵树作为大本营,由捉的一方派一人负责看守。被捉的人被发现时可以跑,但只要被摸后衣服就算被捉,退出游戏,被捉一方所有人的目标是在捉之前摸到代表大本营的那棵树,但由于有人看守,想摸是非常难的。把所有人捉住就算赢了。
9.撞架
也是晚饭后,有月光,很多人集中在一空场子上,分成两组或多组,每组中把一人架起来,即双腿放在前面人的两个肩膀上,后面两个人把空中这人的肩膀扛起来,相当于前后把这个抬起来。两组准备好后开始把中间这人架起来往一起撞,空中人负责用脚撞击对方,前面人负责前进方向,后面两人负责稳住阵角。一般人都不喜欢做前面的人,老是被对方的脚撞在脸上。最后经不住对方攻击,组合垮下来,上面的掉下来就算输了。有时对方的力量太大,后面的人扛不住,住后倒,哗啦倒一大片。玩起来人声鼎沸,热闹的要命,没玩过的人是体会不到的。
10.斗鸡
这个大家都知道,我们有一对一PK的,也有打群架的,谁最后一个还站着就是胜利!
11. 滚铁环
找一铁圈,再用铁丝做成勺子形的一个弯,就可以推着这个铁环跑,各种路况都可以,有段时间不推着就不会走路了。铁环最后有一定重量,不能太轻,记得村里油坊里打油用的那种最好。
(想起来的话慢慢补充)
posted @ 2012-01-09 00:17 81 阅读(10) 评论(0)
编辑
原文:
http://www.cnblogs.com/NalrA/archive/2009/06/15/1503568.html
1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
获取模块的完整路径。
2. System.Environment.CurrentDirectory
获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
3. System.IO.Directory.GetCurrentDirectory()
获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,我也搞不懂了。
4. System.AppDomain.CurrentDomain.BaseDirectory
获取程序的基目录。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
获取和设置包括该应用程序的目录的名称。
6. System.Windows.Forms.Application.StartupPath
获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已
7. System.Windows.Forms.Application.ExecutablePath
获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。
以上出处:九头龙的Blog
若在类库文件中获取以上各种信息则会产生使用类库的应用程序的目录信息.Highlight的比较常用,下面的是验证测试代码:

1 Process process = Process.GetCurrentProcess();
2 _fileName = "f://log.txt";
3 _sw = new StreamWriter(_fileName);
4 _sw.WriteLine("MainModule is :"+process.MainModule.FileName);
5 _sw.WriteLine("Environment.CurrentDirectory is :"+Environment.CurrentDirectory);
6 _sw.WriteLine("System.IO.Directory is :" + System.IO.Directory.GetCurrentDirectory());
7 _sw.WriteLine("System.AppDomain.CurrentDomain.BaseDirectory is :" + System.AppDomain.CurrentDomain.BaseDirectory);
8 _sw.WriteLine("System.AppDomain.CurrentDomain.DynamicDirectory is :" + System.AppDomain.CurrentDomain.DynamicDirectory);
9 _sw.WriteLine("System.AppDomain.CurrentDomain.RelativeSearchPath is :" + System.AppDomain.CurrentDomain.RelativeSearchPath);
10 _sw.WriteLine("System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase is : " + System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase);
11 _sw.WriteLine("System.Windows.Forms.Application.ExecutablePath is : " + System.Windows.Forms.Application.ExecutablePath);
12 _sw.Flush();
posted @ 2012-01-05 20:15 81 阅读(14) 评论(0)
编辑
留下记号,最近要用到:
方案1、使用WM_COPYDATA消息
方案2、使用WriteProcessMemory(),ReadProcessMemory()访问其他进程的内存
方案3、使用内存镜像文件
http://topic.csdn.net/u/20080123/09/12664978-2019-4ac9-93fe-86e8c0278d5b.html
内存镜像方式:
(
CreateFileMapping(...),OpenFileMapping(...),MapViewOfFile(..)
)
http://blog.csdn.net/rzjkl1980/article/details/5519230
posted @ 2011-12-24 20:39 81 阅读(15) 评论(0)
编辑
摘要: 原作者:http://www.cnblogs.com/armstrong-cn/archive/2011/08/24/2151713.html 读取wave文件配置信息 第一部分: WAV文件结构解析: WAVE文件由"块"组成。块的基本结构如下: ------------------------------偏移量 名称 字节数 类型------------------------------00 块标志 4 字符04 块长度 4 长整型08 块内容 数据-------------------------------- WAVE文件一般有四种块,它们依次是:RI...
阅读全文
posted @ 2011-12-18 09:49 81 阅读(12) 评论(0)
编辑
摘要: 比较:public static extern int comp2(byte[] a, byte[] b, int count); [DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] static extern int memcmp(byte[] b1, byte[] b2, UIntPtr count); [DllImport("msvcrt.dll", CallingConvention = CallingConven
阅读全文
posted @ 2011-12-15 16:02 81 阅读(12) 评论(0)
编辑
摘要: 以前一直用[DllImport("xx.dll")]声明,但在.net4中却出现了错误。在网上找到解决方法,在此做个备份:改声明: [DllImport("xx.dll", CallingConvention = CallingConvention.Cdecl)]
阅读全文
posted @ 2011-12-15 14:12 81 阅读(14) 评论(0)
编辑
摘要: 原文:http://www.cnblogs.com/seerlin/archive/2009/03/10/1407478.html 第二部分:线程同步基础 同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具: 简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join...
阅读全文
posted @ 2011-12-13 16:47 81 阅读(10) 评论(0)
编辑
摘要: 今天写多线程程序,使用WaitAll时出了这个错误,在网上查找后得出原因是[MTAThread]和[STAThread]的区别,这是个线程模型的问题,大概明白一些,但也不是很透彻,因为是程序比较大,也不愿意随便修改什么。 转念一想,干嘛非要WaitAll啊,直接用:foreach(var v in [。。]) v.WaitOne();不就ok了吗!
阅读全文
posted @ 2011-12-12 19:26 81 阅读(16) 评论(0)
编辑