杨振宁大学物理视频中黄色的字,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,学习,然后实时匹配这些字,即使黄色的字位置会变化,矩形框带也跟着变也不影响!

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

突然想到形态学腐蚀

相关推荐
加油吧zkf11 分钟前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
千宇宙航13 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
HuashuiMu花水木1 天前
Matplotlib笔记4----------图像处理
图像处理·笔记·matplotlib
熊猫钓鱼>_>2 天前
用Python解锁图像处理之力:从基础到智能应用的深度探索
开发语言·图像处理·python
BIYing_Aurora2 天前
【IPMV】图像处理与机器视觉:Lec13 Robust Estimation with RANSAC
图像处理·人工智能·算法·计算机视觉
CHANG_THE_WORLD2 天前
封装一个png的编码解码操作
图像处理·人工智能·计算机视觉
Trent19852 天前
影楼精修-智能修图Agent
图像处理·人工智能·计算机视觉·aigc
叶子爱分享3 天前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉
加油吧zkf3 天前
目标检测新纪元:DETR到Mamba实战解析
图像处理·人工智能·python·目标检测·分类
千宇宙航3 天前
闲庭信步使用SV搭建图像测试平台:第二十七课——图像的腐蚀
图像处理·计算机视觉·fpga开发