2024-04-24 14:00:24 发布
网友
我有一组蝴蝶图像,用于训练我的系统从给定的输入图像中分割蝴蝶。为此,我想提取边缘、角点、区域边界、局部最大/最小强度等特征
我发现了很多特征提取方法,如Harris角点检测、SIFT等,但当图像背景颜色与蝴蝶的身体/边界颜色相同时,这些方法效果不佳。在
请问有没有什么好的特征提取方法可以很好地进行蝴蝶分割?我使用的是OpenCV的Python实现。在
你愿意写你自己的图像处理逻辑吗?在
您最好的选择可能是针对您的问题优化分割/特征提取,而不是使用以前的实现,比如opencv,用于更一般的用例。在
我发现在嘈杂/低对比度的环境中,一个很好的选择是使用滑动窗口(即10x10像素)并构建一个渐变方向直方图。从这个直方图中,你可以识别出更多的优势边缘(它们在直方图中累积)和它们的方向(允许检测角点之类的东西),并查看局部最大值/最小值。(如果需要,我可以提供更多细节)
如果您对分割整体感兴趣,并且可以进行用户交互,我建议使用图形切割或抓取切割。在图形切割中,用户可以微调分割。Grab cut已经在opencv中了,但是可能会导致同样的问题,因为它需要用户的一个输入,然后自动分割图像。在
您可以尝试通过将训练数据(butterlys的图像)上传到demo.nanonets.ai(免费使用)来构建模型
1)在此处上载您的培训数据:
demo.nanonets.ai
2)然后使用以下命令查询API(Python代码):
import requests import json import urllib model_name = "Enter-Your-Model-Name-Here" url = "https://i.ytimg.com/vi/xT6UsQwZyy0/maxresdefault.jpg" files = {'uploadfile': urllib.urlopen(url).read()} url = "http://demo.nanonets.ai/classify/?appId="+model_name r = requests.post(url, files=files) print json.loads(r.content)
3)回答如下:
你愿意写你自己的图像处理逻辑吗?在
您最好的选择可能是针对您的问题优化分割/特征提取,而不是使用以前的实现,比如opencv,用于更一般的用例。在
我发现在嘈杂/低对比度的环境中,一个很好的选择是使用滑动窗口(即10x10像素)并构建一个渐变方向直方图。从这个直方图中,你可以识别出更多的优势边缘(它们在直方图中累积)和它们的方向(允许检测角点之类的东西),并查看局部最大值/最小值。(如果需要,我可以提供更多细节)
如果您对分割整体感兴趣,并且可以进行用户交互,我建议使用图形切割或抓取切割。在图形切割中,用户可以微调分割。Grab cut已经在opencv中了,但是可能会导致同样的问题,因为它需要用户的一个输入,然后自动分割图像。在
您可以尝试通过将训练数据(butterlys的图像)上传到demo.nanonets.ai(免费使用)来构建模型
1)在此处上载您的培训数据:
demo.nanonets.ai
2)然后使用以下命令查询API(Python代码):
3)回答如下:
^{pr2}$相关问题 更多 >
编程相关推荐