-
|
如题所述。我之前在使用 RapidLayout 的时候,使用 doclayout_d4la 是可以直接识别出来我常用文档的区域块的。但是更新到 V1.0 再做测试的时候。我发现预览图片变成反色了,而且以前能识别出来的区域现在基本都识别不出来了。而且我试了所有模型,都无法直接开箱即用了。现在想要问一下如下的两个问题:
纯小白,过蠢勿怪,还希望大佬能够解答🙏 |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 9 replies
-
|
敢于提出问题就难能可贵了。可否说的详细一些呢? 给出详细可复现的例子来,我这里也好跟进呢。比如颜色反转问题?啥样的? 开箱即用?v1.0属于大版本号升级,接口不向下兼容,因此,需要根据返回结果适配一下 |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
哈喽,问题解决了吗?实在不好意思,之前事情太多,一来二去就给忘记了。现在问题解决了吗? |
Beta Was this translation helpful? Give feedback.
-
|
好的,我来跟进统一一下
…---- 回复的原邮件 ----
| 发件人 | ***@***.***> |
| 发送日期 | 2026年02月12日 08:55 |
| 收件人 | RapidAI/RapidLayout ***@***.***> |
| 抄送人 | SWHL ***@***.***>,
Comment ***@***.***> |
| 主题 | Re: [RapidAI/RapidLayout] 【提问】V1.0 之后是不是代码底层流程改变了? (Discussion #44) |
已经解决了。我后来又仔细的看了一遍源码。发现 load_image.py 文件中 类 LoadImage 在后续的提交中,主动去除掉了 __call__ 函数中对这里的调用:
ifimg.ndim==3:
img=cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
所以导致PNG图像加载后, RGBA -> BGR 缺失了白底。正好我也在使用 RapidOCR,RapidUndistorted,仔细都看了一下发现每个库的 load_image 文件 实现细节都不一样。我为了统一使用同一个文件夹加载器,并且避免已经加载过的 ndarray 在流转的时候反复的去做额外的判断,就继承了 LoadImage 类,重写了 convert_img 方法,把 cv2.cvtColor(img, cv2.COLOR_RGB2BGR) 的逻辑补充回去了。
defconvert_img(self, img: np.ndarray, origin_img_type: Any) ->np.ndarray:
ifimg.ndim==2:
returncv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
elifimg.ndim==3and (channel:=img.shape[2]):
ifchannel==1:
returncv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
elifchannel==2:
returnself.cvt_two_to_three(img)
elifchannel==3:
ifissubclass(origin_img_type, (str, Path, bytes, Image.Image)):
returncv2.cvtColor(img, cv2.COLOR_RGB2BGR)
returnimgelifchannel==4:
img=self.cvt_four_to_three(img)
returncv2.cvtColor(img, cv2.COLOR_RGB2BGR)
raiseLoadImageError(f"The ndim({img.ndim}) of the img is not in [2, 3]")
然后问题就完美的解决了。
如果有空的话,我可以帮忙提交一下PR, 把三个库的 load_image.py 功能统一一下。并把 vis 功能也规整一下,避免同一个系列的不同库相互之间加载文件,保存预览效果不统一的问题。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.




已经解决了。我后来又仔细的看了一遍源码。发现
load_image.py文件中 类LoadImage在后续的提交中,主动去除掉了__call__函数中对这里的调用:所以导致PNG图像加载后, RGBA -> BGR 缺失了白底。正好我也在使用 RapidOCR,RapidUndistorted,仔细都看了一下发现每个库的
load_image文件 实现细节都不一样。我为了统一使用同一个文件夹加载器,并且避免已经加载过的 ndarray 在流转的时候反复的去做额外的判断,就继承了LoadImage类,重写了convert_img方法,把cv2.cvtColor(img, cv2.COLOR_RGB2BGR)的逻辑补充回去了。