为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 从星系照片中去除背景

使用 Python 从星系照片中去除背景

慕斯709654 2021-09-14 09:51:52
你能给我一些关于如何使用 Python 从星系图像中删除背景的提示吗?我想以某种方式检测星系并移除它之外的所有东西。有机会做OpenCV吗?所有图像如下所示:
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

尝试这个:


该方案的基本思想是,在执行后得到图像的轮廓,threshold()并检测轮廓中最大的轮廓。


import cv2

image = cv2.imread("test.jpg", 1)

img = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU,img)

im2, contours, hier = cv2.findContours(img, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)


if len(contours) != 0:

    #find the biggest area

    c = max(contours, key = cv2.contourArea)

    x,y,w,h = cv2.boundingRect(c)

    cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),1)


cv2.imshow("Result", image)

cv2.waitKey(0)

输出:

//img1.sycdn.imooc.com//6140005f0001999902310230.jpg

//img1.sycdn.imooc.com//61400068000160ec02250235.jpg

查看完整回答
反对 回复 2021-09-14
  • 1 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信