杨振宁大学物理视频中黄色的字,c#写程序去掉

先看一下效果:(还有改进的余地)

我的方法是笨方法,也比较刻板。

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个像素的地方,即y=300,另外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这个截取的图像中,覆盖带y=205左右,x显然不是0,因为黑边很宽,大概在100左右,我们假定就是100,好这个矩形带的(top,left)有了,要消掉他,还得知道(botom,right),为了方便我们right取640.经过测试,发现bottom也是一个定值。

6,处理这个矩形框带还差一个条件,就是框内外的颜色差值。这个好办:

如上图,我们用阴影部分的灰度平均值减去框外灰度平均值,就可以得到这个颜色差。

7,矩形框带+颜色差,就消掉了矩形框带

8,想办法除却换色的字,容易,但干掉后怎么填充呢?这是个麻烦事!

我使用每一个字周边来填充,如下图:

每个字的每一笔画,如箭头开始位置,都用上下两块颜色值合并来填充。

好所有事情搞完,就是了。

rgb转黄色的色调,在35到85之间。

代码还比较麻烦,不是很满意。而且这黄色的字位置会变化,矩形框带也跟着变。

想到的另一个办法是:

megauging中形状匹配已经实现了,抄过来就好了。

即黄色的字框入roi,学习,然后实时匹配这些字,即使黄色的字位置会变化,矩形框带也跟着变也不影响!

关键是,字扣掉后填充还得下功夫!颜色差相对容易些!

突然想到形态学腐蚀

相关推荐
yugi9878382 天前
基于DNA编码与混沌系统的图像加密
图像处理
算法打盹中2 天前
计算机视觉:卷积神经网络(CNN)图像分类从像素与色彩通道基础到特征提取、池化及预测
图像处理·神经网络·计算机视觉·cnn·图像分类
AIminminHu2 天前
系列文章<一>(从LED显示问题到非LED领域影像画质优化:揭秘跨领域的核心技术):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
图像处理·led·isp·isp pipeline·ai hdr·成像系统
小殊小殊2 天前
超越CNN:GCN如何重塑图像处理
图像处理·人工智能·深度学习
fsnine3 天前
图像视觉——颜色识别
图像处理·python·计算机视觉
三年呀3 天前
指纹技术深度剖析:从原理到实践的全方位探索
图像处理·人工智能·计算机视觉·指纹识别·生物识别技术·安全算法
Dave.B3 天前
vtkImageThreshold 图像阈值处理指南:从基础到实战优化
图像处理·人工智能·计算机视觉
茜茜西西CeCe3 天前
数字图像处理-领域平均滤波
图像处理·机器学习·计算机视觉·matlab·领域平均滤波
格林威3 天前
偏振相机是否属于不同光谱相机的范围内
图像处理·人工智能·数码相机·计算机视觉·视觉检测·工业相机
嵌入式-老费4 天前
Easyx图形库使用(潜力无限的图像处理)
图像处理·人工智能