2017-12-18 4 views
0

wrap-up packageZxing's code인데 MatLab에서 QR 코드를 디코드하고 있습니다. QR 코드가있는 300 개의 이미지가 있지만 300 개 중에 120 개만 읽을 수 있습니다. Zxing's decode site을 시도하면 더 많은 코드를 읽을 수 있습니다. 나는 비트를 검색하여 MatLab에서 사용한 코드와 Zxing GitHub source code의 코드를 비교했습니다. 아래에 표시된 것처럼 코드에서 약간의 차이점을 발견했습니다. 누군가는이 변화가 차이를 만들 것이라고 제안했다 (here). (나는 전에 new을 추가하는 것 같아요. 맞습니까?)MatLab에서 QR 코드 디코딩 코드를 개선하려면 어떻게해야합니까?

Java에 대해서는 잘 모릅니다. 그래서 MatLab에서 다음 단계를 개선 할 수있는 방법을 묻습니다. Zxing의 소스 코드에서 코드를 읽으려고 여러 가지 방법을 사용했습니다. 이것을 MatLab 코드에 어떻게 추가 할 수 있습니까? 할 일이 너무 많으면 누군가 나에게 링크를 제안하여 직접 개선 할 수있는 방법을 배울 수 있습니까?

매트랩에 대한 ExchangeFile에서

: Zxing의 코드에서

jimg = im2java2d(img); 
source = BufferedImageLuminanceSource(jimg); 
bitmap = BinaryBitmap(HybridBinarizer(source)); 

:

private static void processImage(BufferedImage image, 
            HttpServletRequest request, 
            HttpServletResponse response) throws IOException, ServletException { 

    LuminanceSource source = new BufferedImageLuminanceSource(image); 
    BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source)); 
    Collection<Result> results = new ArrayList<>(1); 

나는 그것이 Zxing의 GitHub의에서 여기 FileExchange에서 코드를 넣어 맞아 여부를 알 수 없습니다. 그래서 그렇게하는 것이 옳지 않다면 말해주십시오. 감사합니다!

편집 어쩌면 내 질문에 그렇게 명확하지 않다. 그래서 제 질문을 요약하면 : 일부 QR 이미지는 MatLab의 래퍼 스크립트에서 디코딩하지 못했지만 Zxing 온라인 디코더에서 읽을 수 있습니다. MatLab의 래퍼 스크립트가 Zxing 온라인 디코더와 동일한 기능을 사용하므로 다른 결과의 원인은 무엇입니까? this page에서

enter image description here

답변

0

:

은 그냥 JAR이 필요하십니까? 당신은 단지 사전 구축 된 JAR 파일이 필요하면

, 당신은 항상 최근 스냅 샷이 야간 빌드/포함 Maven release repository에서 자원을 컴파일 찾을 수 있습니다. 상기 링크를

, 당신은 ZXing를 실행하는 데 필요한 jar 패키지를 다운로드 할 수 있어야합니다.

퍼센트 다운로드 여기 에서 zxing %의 코어와 javase 부품을 구축하십시오 : 당신이 Mathworks File Exchange에서 발견 래퍼 스크립트가 같은 방향을 가리 킵니다의 test_qr.m 파일의 상단에 배치 된 코멘트보고 - Google Code가 종료 된 이후 http://code.google.com/p/zxing/

원래 링크는 죽은이지만, 같은 GitHub 저장소로 리디렉션.

jar 파일을 만든 후에는 스크립트에 속한 파일 Matlab과 함께 폴더에 넣으십시오.test_qr.m에있는 javaaddpath 지시문이 jar 패키지를 제대로 가리키고 있는지 확인하고 스크립트가 작동하도록 모든 것을 준비해야합니다.

다운로드 한 jar 파일을 Matlab 설치에서 사용하는 버전과 다른 버전으로 컴파일 한 경우 (명령 창에서 version -java 명령을 실행하기 만하면됩니다), 다운로드해야하므로 작업이 훨씬 복잡해집니다 소스 파일은 ZXing이고 과 같은 Java IDE 내의 적절한 버전으로 컴파일하십시오. 그러나이 문제에 관해 너무 많이 논의하지 마십시오. 현재이 문제에 직면하게 될지 여부를 알 수 없습니다.

+0

답장을 보내 주셔서 감사합니다. Tommaso! 하지만 지금은 조금 혼란 스럽습니다. 실제로 File Exchange의 래퍼 패키지는 MatLab에서는 작동하지만 Zxing 온라인 디코더에서는 작동하지 않습니다. MatLab에서 읽을 수없는 이미지가 온라인 디코더에서 읽을 수 있음을 의미합니다. 이것이 내가 사용하는 코드를 비교하려고 생각하고 MatLab에서 메서드를 개선하는 것입니다. – Ziming

+0

요점은 Zxing의 디코더가 QR 코드를 디코딩하는 데 더 나은 방법을 사용한다고 생각합니다. 이것은 최근에 업데이트되었지만 MatLab의 래퍼 패키지는 2010 년 이후로 업데이트되지 않았기 때문에 이전 함수를 계속 사용했습니다. 그러나 내가 옳다고 생각하는 것이 확실하지는 않습니다. – Ziming

+0

문제는 래퍼가 단지 래퍼라는 것입니다. 제 말은, 파일 교환시 스크립트의 유일한 목적은 Zxing 패키지를 Matlab에서 실행시키는 것입니다. 그것은 당신이 Zxing 출력을 향상시킬 수있는 Matlab 부분을 개선하여 아니에요 ... –

관련 문제