问题标签 [sane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2986 浏览

python - 使用 Python 的 ctypes 传递/读取声明为“struct_name *** param_name”的参数?

我正在尝试使用 Python 的 ctypes 库来访问扫描库SANE中的一些方法。这是我第一次使用 ctypes,也是我一年多以来第一次不得不处理 C 数据类型,所以这里有一个公平的学习曲线,但我认为即使没有这个特定的声明也会很麻烦:

首先,我已经成功处理了SANE_Status(an enum) 和SANE_Bool(a typedef to c_int)。这些都很简单。另一方面,第一个参数给我带来了各种各样的悲伤。我不熟悉“ ***”符号,到目前为止,我的示踪子弹只产生了垃圾数据。如何格式化此函数的输入,以便我可以读回我的 Python 结构对象列表?作为参考,被引用的 C 结构是:

其中SANE_String_Const定义为c_char_p.

我的这个对象的 Python/ctypes 版本是:

关于我应该传递什么的建议,以便我可以从中获得预期的行为(结构对象列表)?所有回应表示赞赏。

更新1:

使用以下内容,我能够检索到正确的 SANE_Device Python 结构:

但是,1) 糟糕和 2) 似乎只有在只有一个结果时才会起作用。我不能 len() on devices.contents.contentsor devices.contents.contents.contents。我如何确定结果的数量?SANE 文档指定“如果函数成功执行,它会存储一个指向 *device_list 中指向 SANE_Device 结构的指针的 N​​ULL 终止数组的指针”。建议?

更新 2:

我能够传递一个十项数组,然后使用以下方法访问第一个元素:

但是,十显然是一个任意数字,我无法确定实际结果的数量。devices.contents.contents.contents[1].name在仅连接一个设备时尝试访问会导致分段错误。必须有一种适当的方法来处理像 ctypes 中这样的可变长度构造。

0 投票
2 回答
285 浏览

asp.net-mvc - 使用 IOC 预填充 MVC 模型 - 缓存的替代方案?

我正在考虑为 ASP.NET MVC 站点实现简单的 CMS 的策略。简单的部分是我已经抽象了各种局部视图中使用的值,所有这些都是共享相同 CSS 布局的用户控件。所以我在数据库中的相同部分视图中填充自定义值,我可以偶尔使用 CRUD 修改它们。

不那么简单的部分是标准 UI 元素作为 sql 表行的合理有效和逻辑抽象。但抛开这些...

我知道我将使用一些超级模型将部分视图的预配置模型交给每个页面。但是如果它们是预配置和预加载的,那么在调用之前将它们放在哪里?

让我觉得这样做有点疯狂的部分是本质上是静态数据的加载时间。但话又说回来,SharePoint!

那么(我认为)为什么不将它全部加载到 application_start 中呢?为什么不?我回答!然后我开始使用 IoC 来做一些事情,即使是一个曾经认为这可能是一个理智的想法的聪明人,谷歌也不会返回一个指向好的信息的链接。

那么除了在构造函数中放置存储库调用之外,是否有人有更好的想法来使用 IoC 容器从数据库中填充模型?

然后,有没有人认为将这些静态数据模型放在控制器可访问的 IoC 容器中是一个愚蠢的想法?

谢谢,

S.马奇诺

0 投票
2 回答
106 浏览

c - 操纵变量的地址来存储更小的类型?

这就是我用高级编程语言放纵自己所得到的。


我有一个将 32 位值写入缓冲区和uint64_t堆栈上的函数。下面的代码是一种明智的存储方式吗?

我假设这将是规范、安全的风格:

0 投票
1 回答
1247 浏览

python - 从 Python 字符串创建 16 位 TIFF 图像

我需要在 16 位深度和颜色模式下使用扫描仪,所以我修改了 python-imaging-sane(不支持 16 位深度的 RGB tiff)以从扫描仪(epson v500)接收 Python 字符串中的图像。

这是我用来将数据从扫描仪发送到 python 字符串的修改后的函数:

我使用这个 python 脚本来接收和使用数据:

该脚本在 8 位深度下运行良好,但将深度设置为 16 位时,我获得了颜色错误的图像;

这是两个例子:

8位深度

16位深度

问题出在哪里?

编辑:我使用 pgmagick,一个 python 包装器到 graphicsmagick;graphicsmagick 编译时将量子深度设置为 16 位。

0 投票
2 回答
6662 浏览

windows - 是否可以在 Windows 平台上使用 SANE 后端?

我必须为佳能 9000F 开发扫描应用程序,但我遇到了 WIA 和 TWAIN 问题。我在 SANE 项目的主页上读到,这个特定的扫描仪与他们的技术配合得很好,所以如果可以在 Windows 平台上使用 SANE 后端,我会很感兴趣。

我在这个网站上找到了一些信息:http ://www.zago.net/sane/windows/sane_on_windows.html

Windows 上的 SANE:该端口已于 2003 年 9 月 23 日集成到 CVS 树中。它将在 SANE 版本 1.0.13 中可用。

在 SANE 的维基百科页面上,Windows 也被列为平台:

操作系统:Microsoft Windows、Linux、UNIX、OS/2

0 投票
1 回答
909 浏览

python - PIL SANE 界面:我在哪里可以找到它?

显然 PIL 包括一个 SANE(扫描仪访问现在很容易)界面 - 我现在正在查看代码

sane 由 PIL 提供。

我在 OS X 和 Windows 下都安装了 PIL,但是“import sane”对我不起作用。我做了一些谷歌搜索,看看是否需要安装额外的东西,但我没有找到任何东西。

如何获得 PIL 的 SANE 界面?

我对任何 SANE 界面(不一定是 PIL)都很满意,因此,如果您知道替代方案也会有所帮助。

0 投票
1 回答
52 浏览

command-line - 从前端获取命令行参数

我正在尝试查看从 xsane 发送到 scanimage 的确切命令行参数。我尝试了 ltrace,但在日志中的任何地方都找不到“scanimage”。一般来说,假设您知道某些 GUI 程序是命令行专业人士的前端

0 投票
2 回答
3707 浏览

linux - 在 Linux 上,如何获取 SANE 的 scanimage 输出的 TIFF 并将其转换为带有管道字符的 JPEG?

我正在考虑使用 Imagemagick 的转换程序,因为我首选的程序 nconvert 在 Raspberry pi 的 ARM CPU 上不起作用。

0 投票
0 回答
598 浏览

macos - 通过 Mac OS X 终端安装 SANE 后端

在终端中执行这些命令后,我在哪里可以找到健全的后端:

$ cd 下载

$ sudo 安装程序-pkg sane-backends.pkg -target /

注意: - sane-backends.pkg 位于下载文件夹内。- 我在这里下载了 sane-backends.pkg 和其他 4 个文件http://www.ellert.se/twain-sane/

我想知道 sane-backends 的位置,以便将驱动程序添加到 SANE 驱动程序列表中,当您从“系统偏好设置”打开 SANE 时会显示该列表。

0 投票
0 回答
1210 浏览

macos - Mac OS X 中的 TWAIN SANE 界面和图像捕获

我的扫描仪不会显示在 Mac OS X Image Capture 中的设备下。我已经安装了此处提到的 TWAIN SANE 接口的必要文件http://www.ellert.se/twain-sane/

我能够在终端中通过 scanimage 进行扫描,我目前正在寻找支持 Mac OS X 中 SANE 的 TWAIN 应用程序,以便我可以通过 NETWORK 进行扫描。