东莞网站推广优化建设,网站推广到底应该怎么做,vs2010网站开发 SQL,免费空间设立网站先看一下效果#xff1a;#xff08;还有改进的余地#xff09; 写了个程序消除杨振宁大学物理中黄色的字 我的方法是笨方法#xff0c;也比较刻板。
1#xff0c;首先想到#xff0c;把屏幕打印下来。c#提供了这样一个函数#xff1a; Bitmap bmp new Bitmap(640, 48…先看一下效果还有改进的余地 写了个程序消除杨振宁大学物理中黄色的字 我的方法是笨方法也比较刻板。
1首先想到把屏幕打印下来。c#提供了这样一个函数 Bitmap bmp new Bitmap(640, 480, PixelFormat.Format32bppArgb);
// 创建一个画布 Graphics g Graphics.FromImage(bmp);
Point hello new Point(0, 300); g.CopyFromScreen(hello, Point.Empty, new Size(640, 480)); // 释放画布资源 g.Dispose();
2上面代码什么意思呢就是屏幕上取一幅640*480的bmp图像。
我们观察上图黄色字方框大概在距离顶部300个像素的地方即y300另外x在最左端0.
执行代码并显示就是上图有半部分要注意的是我们这些代码在桌面运行时不能遮挡网页0,300这个位置640*480的区域。
3显示640*480图像的代码为 timer1.Start();//显然我们创建这个timer循环为了实时捕捉网页视频。 显然我们第一步得到的bmp可以直接给picturebox。即 private void timer1_Tick(object sender, EventArgs e) {pictureBox1.Image bmp}//我们已经得到想要的图像
4处理黄色字首先黄色字外有一个覆盖带显然是个矩形带看上去也应该消掉。
5我们观察发现在640*480这个截取的图像中覆盖带y205左右x显然不是0因为黑边很宽大概在100左右我们假定就是100好这个矩形带的topleft有了要消掉他还得知道botomright为了方便我们right取640.经过测试发现bottom也是一个定值。
6处理这个矩形框带还差一个条件就是框内外的颜色差值。这个好办 如上图我们用阴影部分的灰度平均值减去框外灰度平均值就可以得到这个颜色差。
7矩形框带颜色差就消掉了矩形框带。
8想办法除却换色的字容易但干掉后怎么填充呢这是个麻烦事
我使用每一个字周边来填充如下图 每个字的每一笔画如箭头开始位置都用上下两块颜色值合并来填充。
好所有事情搞完就是了。
rgb转黄色的色调在35到85之间。
代码还比较麻烦不是很满意。而且这黄色的字位置会变化矩形框带也跟着变。
想到的另一个办法是
megauging中形状匹配已经实现了抄过来就好了。
即黄色的字框入roi学习然后实时匹配这些字即使黄色的字位置会变化矩形框带也跟着变也不影响
关键是字扣掉后填充还得下功夫颜色差相对容易些
突然想到形态学腐蚀