# 帖子中检测到图片时弹出警告

**URL:** <https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252>\
**Category:** Feature\
**Created:** [2023年一月19日 03:44 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252 "2023-01-19T03:44:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mark\_Walkom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_walkom/32/77411_2.png) [@Mark\_Walkom](https://meta.discourse.org/u/Mark_Walkom)\
**Post date:** [2023年一月19日 03:44 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/1 "2023-01-19T03:44:33Z")

</div>

当有人创建新帖子时，您会看到“您的主题与…相似”，是否可以在其中添加其他内容？

特别是，如果我们能以某种方式检测到帖子中嵌入了图片，然后提示用户“请不要发布文字、日志或代码的图片。它们难以阅读、无法搜索和复制（如果是代码），而且有些人甚至可能看不到它们”，那将是很好的。

对我们来说，我们确实会收到需要截图的 UI 元素帖子，但我们也会收到更多用户发布配置或日志文件等文本内容的截图（或屏幕照片！）的情况。

---

<div class="post-metadata">

**Author:** ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)\
**Post date:** [2023年一月19日 03:48 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/2 "2023-01-19T03:48:39Z")

</div>

是的，我理解你的痛苦。不过，我觉得发截图的人比那些什么都不解释或不记录就说有问题的人要好一万倍。我没有解决方案，但我认为OCR图像的东西会比责骂那些试图解决问题的人更有成效……

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2023年一月19日 05:17 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/3 "2023-01-19T05:17:18Z")

</div>

技术上可以通过一些AI集成在这里实现某些功能，但要足够快地实现将是一个挑战。

这是一篇关于此主题的旧文：

[https://towardsdatascience.com/how-i-used-machine-learning-to-detect-chat-screenshots-on-my-phone-a46d875b07af](https://towardsdatascience.com/how-i-used-machine-learning-to-detect-chat-screenshots-on-my-phone-a46d875b07af)

还有一些其他想法：

> **[GitHub - rjnp2/Text-Recognition-using-Deep-Learning](https://github.com/rjnp2/Text-Recognition-using-Deep-Learning)**
>
> Contribute to rjnp2/Text-Recognition-using-Deep-Learning development by creating an account on GitHub.

* * *

也许一个非常粗糙的插件，可以“完成工作（tm）”，就是自动化 [tesseract](https://tesseract-ocr.github.io/)：

将图像传递给它 → 获取文本 → 查看字母总数 → 如果超过 N，则知道它很可能是代码片段。然后我们可以在发布前发出警告。

我认为这在插件中是相当可行的。

 ![quick demo](https://global.discourse-cdn.com/meta/original/4X/9/b/a/9ba88f0dfb0e42ad2f65b973e7cb74946e75c750.png)

---

<div class="post-metadata">

**Author:** ![Mark\_Walkom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_walkom/32/77411_2.png) [@Mark\_Walkom](https://meta.discourse.org/u/Mark_Walkom)\
**Post date:** [2023年一月19日 05:57 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/5 "2023-01-19T05:57:22Z")

</div>

是否更容易添加一个钩子，以便当有人单击上传按钮或拖放图片时，会弹出该图片？

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2023年一月19日 06:44 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/6 "2023-01-19T06:44:10Z")

</div>

当然可以做到，但这种功能必须放在插件中。特别是取决于实现方式。

像 Tesseract 这样的东西安装起来很麻烦，它有点像一个十字路口。你最终要么会启动一个新的 API，要么会污染你的应用程序容器。通过启动一个 API，你可以获得更好的隔离，但随后任何安装这种插件的人（在我们托管之外）都必须配置并启动第二个容器来完成这项工作。

我们需要非常小心超时问题（如果需要 10 秒才能确定它是一个代码截图，用户会看到什么？）

我这里初步的想法是这样的：

- 用户发布图片
- 图片显示在帖子中
- （同时）帖子被发送到“检测这是否是代码截图”服务
- 当服务最终响应时，你显示警告

阻止服务（即使是本地服务）上传所有图片是有风险的，因为最终用户体验可能会受到很大影响。

我想你可以在发布前再做一个“最终”的延迟，以确保队列中没有任何东西。

这都是我们可能承担的潜在可行工作，但我们首先需要一个数据集来设定预期（比如 50 张代码片段图片……50 张非代码片段图片）。

这是一个非常模糊的问题，所以举例可以帮助我们了解这个东西的行为有多好。

* * *

一个有趣的转折是，如果这个神奇的服务能够“反截图”源代码并告知用户……“嘿，我看到你试图发布一些源代码，你想让我把它改成这段文字吗？”

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2023年一月19日 07:28 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/7 "2023-01-19T07:28:44Z")

</div>

> [@sam](#):
>
> 一个有趣的转折是，如果这个神奇的服务能够“截屏”源代码并告知用户……“嘿，我看到您尝试在此处发布一些源代码，您想让我将其更改为此文本块吗？”

就像 [OCR 插件](https://github.com/communiteq/discourse-ocr-uploads) 一样，但可能更用户友好一些 😉

---

<div class="post-metadata">

**Author:** ![schleifer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/schleifer/32/86416_2.png) [@schleifer](https://meta.discourse.org/u/schleifer)\
**Post date:** [2023年一月19日 08:12 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/8 "2023-01-19T08:12:38Z")

</div>

我不认为 OP 是要求查看图片内容，只是在帖子中包含任何图片时显示一个有用的通知，说明截图等。

这就像 v1。“AI 查找文本”就像 v10。

---

<div class="post-metadata">

**Author:** ![Mark\_Walkom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_walkom/32/77411_2.png) [@Mark\_Walkom](https://meta.discourse.org/u/Mark_Walkom)\
**Post date:** [2023年一月19日 08:23 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/9 "2023-01-19T08:23:43Z")

</div>

是的，伙计，差不多就是这样了。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2023年一月19日 10:35 UTC](https://meta.discourse.org/t/warning-pop-up-when-there-is-a-picture-detected-in-a-post/252252/10 "2023-01-19T10:35:40Z")

</div>

原子警告由信任级别（可能还有帖子计数）控制，在主题组件中非常简单，根据论坛的不同可能会非常烦人。
