0

我最近使用decode_qr这个FEX 提交来解码我的二维码。一两周前它运行得很好,但今天它对我产生了一个错误:

Undefined function or variable 'BufferedImageLuminanceSource'
Error in decode_qr (line 34);
source = BufferedImageLuminanceSource(jig);

刚查了zxing仓库,发现有些文件是前几天更新的。所以我猜一些从包中导入的文件的路径已经改变了。

这是从decode_qr函数中导入的代码:

import com.google.zxing.qrcode.*;
import com.google.zxing.client.j2se.*;
import com.google.zxing.*;
import com.google.zxing.common.*;
import com.google.zxing.Result.*;

我怎样才能让它再次工作?我需要更改导入路径吗?

4

1 回答 1

0

这是我为使其工作所做的工作(Win 10 x64、R2017b、ZXing 3.3.1):

  1. 从Sonatype下载了最新的预建.jar工件:

  2. 使用以下命令将文件添加到我的动态 java 类路径中javaaddpath

    javaaddpath('G:\core-3.3.1.jar');
    javaaddpath('G:\javase-3.3.1.jar');
    % Verify using: javaclasspath('-dynamic');
    

    注意

    要将文件夹添加到 MATLAB 在启动时加载的静态路径,请创建一个javaclasspath.txt文件,如静态路径中所述。

  3. 使用unitag.io生成了一些示例二维码: 样本二维码

  4. 尝试使用 Lior Shapira 对其进行解码decode_qr

    >> out = decode_qr(qr)
    out =
    
        'https://stackoverflow.com/users/3372061/dev-il'
    

完整代码:

function out = q47223578()

javaaddpath('G:\core-3.3.1.jar');
javaaddpath('G:\javase-3.3.1.jar');
% Verify using: javaclasspath('-dynamic');

qr = imread('https://i.stack.imgur.com/mA4eP.png');

out = decode_qr(qr);
于 2017-11-10T15:03:22.397 回答