当前位置: 首页 > article >正文

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

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

突然想到形态学腐蚀


http://www.kler.cn/a/430174.html

相关文章:

  • mybatisX插件的使用,以及打包成配置
  • Linux 系统下磁盘相关指令:df、du、fdisk、lsblk
  • 抢占欧洲电商高地,TikTok 运营专线成 “秘密武器”
  • Flutter:打包apk,安卓版本更新(二)
  • 【C++习题】20. 两个数组的交集
  • [Git] git cherry-pick
  • net8 WebAP Swagger
  • JS中的原型链与继承
  • PyTorch张量的backward方法和.grad属性介绍
  • 鸿蒙Next开发实战教程-使用WebSocket实现即时聊天
  • 如何实现多级缓存以及缓存之间数据的一致性
  • vscode鼠标右键跳转到定义只能跳转到头文件
  • C++ 列表初始化(initializer_list)
  • Go validator验证参数是否零值以及是否传递
  • IDEA创建Spring Boot项目配置阿里云Spring Initializr Server URL【详细教程-轻松学会】
  • IO进程学习笔记
  • 最新 AI 编程工具全面对比:v0、Bolt.new、Cursor、Windsurf
  • 树莓派 PICO RP2040 MACOS 使用
  • ArcMap 分析面到线、线到线、面重叠等功能操作
  • SQL中IN和NOT操作符的用法
  • 概率论相关知识随记
  • 【大语言模型】LangChain LCEL 表达式语言
  • leetcode-88.合并两个有序数组(易理解)
  • DApp开发如何平衡性能与去中心化?
  • Linux 远程连接服务
  • 6月份stable diffusion animatediff等插件使用指南,又来更新了