Closed XieDeWu closed 3 months ago
增 减 交 异或 待学习完gif制作后放出
这就是我不放PR的原因
import cv2 from PIL import Image import os
def video_to_frams(video_path:str, save_root:str, frame_ferquency:int=1, scale:float=1.): """ 视频拆帧 :param video_path: 视频路径 :param save_root: 图片保存目录 :param frame_ferquency: 抽帧间隔 :param scale: 保存图像的尺寸比例 :return: """ camera = cv2.VideoCapture(video_path) frame_count = int(camera.get(cv2.CAP_PROP_FRAME_COUNT)) fps = int(camera.get(cv2.CAP_PROP_FPS)) print('总帧数:{} | fps:{}'.format(frame_count, fps)) for index in range(frame_count): res, image = camera.read() if index % frameferquency == 0: h, w, = image.shape image = cv2.resize(image, (int(w scale), int(h scale))) cv2.imwrite(os.path.join(save_root, '{:0>8}.jpg'.format(index)), image) camera.release() return True
def generate_gif(images_root:str, save_path:str, duration=1000): """ 图片合成gif :param images_root: 图标目录 :param save_path: gif保存路径 :param duration: 间隔,默认1000=1秒 :return: """ image_paths = sorted([os.path.join(images_root, image_name) for image_name in os.listdir(images_root)]) gif_frames = [] for filename in image_paths: img = Image.open(filename) gif_frames.append(img) gif_frames[0].save(save_path, save_all=True, append_images=gif_frames[1:], duration=duration, loop=0) return True
随便找了个网站mkv转gif了 功能大概就这样,跟PS一样
至于那个内存泄漏的Bug,因为对Python不熟与逆向工程不熟,只能说抓瞎,开摆,大不了20分钟重启一次
至于那个内存泄漏的Bug,因为对Python不熟与逆向工程不熟,只能说抓瞎,开摆,大不了20分钟重启一次
内存泄露应该不是代码层面的问题。我昨天也在window11上试了,内存占用一直在800M左右,没有明显变化。(不过我图分辨率比较小,用的项目的示例图片;但在linux上用2000w像素的图,也没有内存占用问题)。
可以排查下运行环境或者其他因素。
对于添加了 "增, 减, 交, 异或"四种对多边形的操作
你看这个样的处理方式会不会更好一些。
至于那个内存泄漏的Bug,因为对Python不熟与逆向工程不熟,只能说瞎搞,开摆,大不了20分钟重启一次
内存泄露应该不是代码先锋问题。我昨天也在windows11上试用了,内存占用一直在800M左右,没有明显变化。(不过我图分辨率比较小,用的项目的示例图片;但在linux上用2000w像素的图,也没有内存占用问题)。
可以调查运行环境或者其他因素。
对于“增、减、交、异或”四个对多边形的一些操作
- '增减',你可以尝试重新绘制功能,该功能应该可以满足增减多边形的需求,并且会更好地用一些针对单一多边形的编辑需求。
- 对于“交/异或”,我觉得这个功能好,但是大概率会换一种实现方式。 初步的设想是这样的:先选定多个多边形,然后点击“交/异或”按钮,完成多个多边形的合并操作。
你看这个样子处理方式会不会更好一些。
都行,反正顶多多了个可选项, 我现在是按扁平化处理, 多组选取能塞右键上下文,当然一般都是快捷键就是了 我是本地开了个可选配置项 Flatten Section 扁平化选区, 只是对原功能的增强. 主仓得大佬你来啦
至于那个内存泄漏的Bug,因为对Python不熟与逆向工程不熟,只能说瞎搞,开摆,大不了20分钟重启一次
内存泄露应该不是代码先锋问题。我昨天也在windows11上试用了,内存占用一直在800M左右,没有明显变化。(不过我图分辨率比较小,用的项目的示例图片;但在linux上用2000w像素的图,也没有内存占用问题)。 可以调查运行环境或者其他因素。 对于“增、减、交、异或”四个对多边形的一些操作
- '增减',你可以尝试重新绘制功能,该功能应该可以满足增减多边形的需求,并且会更好地用一些针对单一多边形的编辑需求。
- 对于“交/异或”,我觉得这个功能好,但是大概率会换一种实现方式。 初步的设想是这样的:先选定多个多边形,然后点击“交/异或”按钮,完成多个多边形的合并操作。
你看这个样子处理方式会不会更好一些。
都行,反正顶多多了个可选项, 我现在是按扁平化处理, 多组选取能塞右键上下文,当然一般都是快捷键就是了 我是本地开了个可选配置项 Flatten Section 扁平化选区, 只是对原功能的增强. 主仓得大佬你来啦
这个功能应该很好加,有空的话,下周应该就可以完成。
嗯嗯,期待大佬你这边的功能增强入仓 现在主要就两个功能,这两个作用范围不是相同的,我个人还是挺期待我这边的功能完整入仓 总之两个可选功能强化 1.扁平化选区 2.增强组选取
至于那个内存泄漏的Bug,因为对Python不熟与逆向工程不熟,只能说抓瞎,开摆,大不了20分钟重启一次
内存泄露应该不是代码层面的问题。我昨天也在window11上试了,内存占用一直在800M左右,没有明显变化。(不过我图分辨率比较小,用的项目的示例图片;但在linux上用2000w像素的图,也没有内存占用问题)。
可以排查下运行环境或者其他因素。
对于添加了 "增, 减, 交, 异或"四种对多边形的操作
- '增减',你可以尝试下 repaint功能,那个功能应该可以满足增减多边形的需求,并且会更好用一些(对于单多边形的编辑需求)。
- 对于'交 异或',我觉得这个功能挺好,但是大概率会换一种实现方式。 初步的设想是这样的:先选定多个多边形,然后点击'交 / 异或' 按钮,完成多个多边形的合并操作。
你看这个样的处理方式会不会更好一些。
就是因为repaint不好用就写的,一般懒得写代码,一般都是对一个标签做非重叠选区做编辑,直接扁平化就事少了
为什么用起来觉得不好用,额我举几个例子 1.对于毛发,组合特征如头发+脸+眼睛耳朵 之类的 SAM也没办法一次扣好复杂边缘,更别指望repaint能做好,工作量贼大 往往需要多次进行分开进行SAM,叠加取并集 或者直接全选,然后直接扣掉背景,效率最高 2.repaint的既不能双击拆点,也不能双击删点 3.主要原因 可能是bug我用不了,只会画小红点,所以没办法只能改代码,一般没事都不会动代码,能跑就行 现在跑不了
有个BUG,数据集可能出现点线之类,需要限制为仅需多边形数据就好,或buffer设置为>0,常见于场景边框
为什么用起来觉得不好用,额我举几个例子 1.对于毛发,组合特征如头发+脸+眼睛耳朵 之类的 SAM也没办法一次扣好复杂边缘,更别指望repaint能做好,工作量贼大 往往需要多次进行分开进行SAM,叠加取并集 或者直接全选,然后直接扣掉背景,效率最高 2.repaint的既不能双击拆点,也不能双击删点 3.主要原因 可能是bug我用不了,只会画小红点,所以没办法只能改代码,一般没事都不会动代码,能跑就行 现在跑不了
你这个红点是啥?绿色的部分又是啥?
绿色是sam的分割效果?
另外回复下你提到的几个点:
关于第一点,现在是要分开几个选区扣几次才行,最后叠加到单通道图,如果是一次扣就如下图, 打 而目标效果图 这是原图
关于第二第三点的回复,因为这边从未正常使用过此功能故无法回复 这是卖家秀 这边买家秀
因为我直接按扁平化同标签组选区来写的,所以不等价 repaint 可以等价,但是需要额外写一个实现, 允许在选中状态下进入选区模式 且若有选取,则只对仅需对所选区域操作
不好意思我得改一下,现在与我用不了的repoint功能不等价
不好意思我得改一下,现在与我用不了的repoint功能不等价
对Qt不熟,估计得晚点
嗯嗯,到时候我关闭pr就好 因为Qt不太熟, 若等效repoint,所以需要写若存在选中,则只对选中部分操作,这部分我还在摸索,希望到时候也加上
嗯嗯,到时候我关闭pr就好 因为Qt不太熟, 若等效repoint,所以需要写若存在选中,则只对选中部分操作,这部分我还在摸索,希望到时候也加上
实现了,回复你。应该会很快的。 到时候你试一下看能不能满足你要的需求。
好的,谢谢
看到了 我fetch merge看看
简单测试了下,功能是有的 只是说 .... 很难用吧. 1.只针对 "两个" 之间的操作,如果选区太散,或者多选就不支持了 2.必须进行选取两个选区的动作,影响效率,操作过于精细化了 不过UI有了,我这边瞅瞅代码看下怎么改比较合适,毕竟这边的意图是仅局限与对选中部分操作 毕竟我是粗操作,这边细操作,结合一下会舒服点
简单测试了下,功能是有的 只是说 .... 很难用吧. 1.只针对 "两个" 之间的操作,如果选区太散,或者多选就不支持了 2.必须进行选取两个选区的动作,影响效率,操作过于精细化了 不过UI有了,我这边瞅瞅代码看下怎么改比较合适,毕竟这边的意图是仅局限与对选中部分操作 毕竟我是粗操作,这边细操作,结合一下会舒服点
主要你的需求和我软件的功能需求不一致。
在标注过程中,实际上很少会用到这个功能,只存在与一些调整情况。
你不能强求我把标注软件,改成专为你需求定制的T.T
但还是非常感谢你的建议,软件功能更完善了!!!
毕竟我的功能如题"扁平化选区" ,会抛弃深度信息, 对于应用场景 同标签多物品 分开标注且选区重叠的 需要深度信息的 不适配 我rebase一下做成冗余参数,在不需要深度信息时候,作为冗余参数打开增加效率,毕竟应用场景不一样.
用了一会,效率还可以接受就懒得改了 qwq
书接此回 https://github.com/yatengLG/ISAT_with_segment_anything/issues/164#issuecomment-2136537666 选区功能不好用故增强 额外功能 "扁平化选区", 在我本地因为Qt不熟UI是乱改的故只放关键画布代码变更,也多了两个依赖keyboard,shapely 我就不放PR了,注释已补上,大概就这么个事简单描述下,gif后面我补几个 canvas.txt