MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2245|回复: 32|关注: 0

[已解决] 如何将边界上的黑点填充为白色或者去掉后面的黑色背景?

[复制链接]

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
本帖最后由 醉流景 于 2017-7-12 16:30 编辑

想请问各位大神
这幅图我想去掉后面的黑色背景怎么办 因为白色区域内的两个黑点我需要保留 所以感觉有一定的难度 没有思路
如果先把这幅图的边界线上的黑色点填充为白色 变成一个标准的矩形 再按照边界进行背景去除行吗
但是我是个菜鸡新手 不知道怎么做填充 再去除后面的黑色背景 求大神们指导 如果有程序最好 感激不尽!
untitled.jpg

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:30:44 | 显示全部楼层
up up up别沉啊

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:31:04 | 显示全部楼层
求助求助 有偿也可以的

新手

20 麦片

财富积分


050


5

主题

29

帖子

0

最佳答案
发表于 2017-7-12 16:31:21 | 显示全部楼层
逐行扫描,对每行第一个白点之前和最后一个白点之后的像素进行填充;然后再换方向,逐列扫描,方法一样,两步操作完后,应该可以保留白色区域中的黑点。

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:32:15 | 显示全部楼层
:Q:Q:Q:Q:Q:Q

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:35:35 | 显示全部楼层
lirufeng921 发表于 2017-7-12 16:31
逐行扫描,对每行第一个白点之前和最后一个白点之后的像素进行填充;然后再换方向,逐列扫描,方法一样,两 ...

听起来好像可以诶。我试试 谢谢你

新手

5 麦片

财富积分


050


0

主题

4

帖子

0

最佳答案
发表于 2017-7-12 16:36:38 | 显示全部楼层
如果那两个黑点只是一个像素点,可以这样判定需要被填充的黑色像素(黑色)&&(并没有被白色像素点包围)

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:38:07 | 显示全部楼层
空白snp 发表于 2017-7-12 16:36
如果那两个黑点只是一个像素点,可以这样判定需要被填充的黑色像素(黑色)&&(并没有被白色像素点包围) ...

不是的 放大看其实是一小块 不是一个像素点

新手

7 麦片

财富积分


050


10

主题

50

帖子

0

最佳答案
 楼主| 发表于 2017-7-12 16:45:04 | 显示全部楼层
lirufeng921 发表于 2017-7-12 16:31
逐行扫描,对每行第一个白点之前和最后一个白点之后的像素进行填充;然后再换方向,逐列扫描,方法一样,两 ...

能求一个程序吗大神 实在不知道怎么下手 太笨了:'(

新手

5 麦片

财富积分


050


0

主题

4

帖子

0

最佳答案
发表于 2017-7-12 16:50:22 | 显示全部楼层
其实还有个思路,你想保留的那两个色块和边界是隔开的,想填充的色块和边界是挨着的。现在你想填充的黑色像素的判定条件是(以这个点为起点在走到一个相邻的黑色像素点,最终肯定能走到图片的边界)。所以从边界开始,对相邻的黑色像素进行遍历,遍历到的都填充就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表