QR QR 코드에 사진을 삽입하십시오
QR 코드가 마침내 인기를 얻었습니다. 이제 거리와 골목에서 크고 작은 제품의 광고에 대한 QR 코드 태그는 어디에나 있으며, 대부분은 단순한 순수 QR 코드가 아니라 중간에 성격 아이콘이있는 QR 코드입니다.
Google의 오픈 소스 프로젝트 Zxing을 사용하여 QR 코드 및 1R 코드 인코딩 및 디코딩을 구현하고 소스 코드 (C#으로 구현 된 바코드 및 QR 코드 인코딩 및 디코더)를 열었습니다. 오늘 저는이 프로그램을 기반으로 QR 코드 중간에 작은 사진을 계속 추가합니다.
배경 지식
QRCode는 Reed-Solomon 코드를 사용하여 버그 수정을합니다. 우리에게 리드 솔로몬 코딩에는 두 가지 매우 중요한 특성이 있습니다. 먼저, 명시 적 시스템 코드이므로 최종 인코딩에서 원본 정보를 직접 볼 수 있습니다. 우리는“Hello World”를 인코딩 할 때 마찬가지로 마침내“Hello World”와이를 따르는 몇 가지 결함 내성 코드를 볼 수 있습니다. 둘째, 리드 솔로몬 인코딩은 "엑소 브리티드"될 수있다. 두 개의 다른 리드 솔로몬 인코딩의 결과가 계산 된 후, 새로운 리드 솔로몬 코드가 얻어 지고이 새 코드의 원래 코드는 독점적이거나 원래 두 가지 원본 코드입니다. 이 두 가지 기능이 왜 작동하는지 알고 싶다면 유한 필드 산술 및 리드 솔로몬 코딩을 참조하십시오.
qrcode
QRCode 이미지는 사람이나 컴퓨터가 자신을 QRCode로 식별하도록 돕기 위해 일부 고유 한 설명자를 정의합니다. 이러한 종류의 디스크립터는 QRCode의 크기에 따라 약간 다릅니다. QRCode 이미지에는 더 많은 디스크립터가 있습니다. 그러나 인간 인식의 경우 가장 명백한 특징은 그림의 네 모서리의 상징이 고정되어 있다는 것입니다. 그러한 네 구석을 볼 때 인간은 본능적으로 반응합니다. 이것은 QRCode입니다.
(실제로, 우리는 이미지의 왼쪽 상단 모서리에 두 개의 픽셀 지점을 읽음으로써 인코딩의 중복성을 판단 할 수 있습니다. 검은 색 정의는 0이고 흰색을 정의하면 00이면 L- 레벨 중복성, 01은 m, 10은 q, 11은 가장 높은 H 레벨 중복성 중복 중복 중복 중복입니다.
위의 작업을 통해 이미지에서 원래 코드 정보의 위치를 쉽게 알 수 있습니다. 그런 다음 원래 코드 정보를 변경하면 이미지의 픽셀을 변경하여 내부에 그림을 그릴 수 있습니다. 즉, 다음 상황 중 일부는 일을 더 흥미롭게 만들 수 있습니다.
사진을 삽입하기 위해 QR 코드를 만들었습니다.
이전에는 Zxing 오픈 소스 프로젝트를 사용하여 전환 된 무료 1QR 코드 코드 코덱을 제공했지만 그림을 삽입하지 못했습니다. 이번에 약간의 노력이 끝난 후, 사진은 QR 코드에 성공적으로 삽입되어 인코딩 및 디코딩을 할 수있었습니다. 그림 삽입의 핵심은 소스 코드에 자세히 설명 된 QR 코드의 결함 공차 계수 조정에 있습니다.
인터페이스 :
사진을 QR 코드에 삽입하고 정상적으로 디코딩하려면 다음 두 가지 점에주의하십시오.
1. QR 코드를 설정하는 내결함성 계수가 높아야합니다.
ZXing 프로젝트에서 QR 코드가 생성 될 때 내결함성 계수를 설정할 수 있습니다.
encodehinttype.error_correction을 ErrorCorectionlevel.h로 설정하십시오
// 구성 QR 코드 작성자 multiformatwriter mutiwriter = new com.google.zxing.multiformatwriter (); Hashtable hint = new Hashtable (); hint.add (encodehinttype.character_set, "utf-8"); hint.add (encodehinttype.error_correction, com.google.zxing.qrcode.decoder.errorcorrectionlevel.h); // QR 코드 생성 bytematrix bm = mutiwriter.encode (txtmsg.text, com.google.zxing.barcodeformat.qr_code, 300, 300, 힌트); 비트 맵 img = bm.tobitmap ();
2. 중간에 삽입 된 그림의 크기와 위치는 적절해야합니다.
중간 그림이 너무 크고 QR 코드의 대부분의 영역을 다루면 확실히 작동하지 않습니다. 너무 작 으면 개인화 된 효과가 없습니다.
그렇다면 얼마나 큰가? 이전 기사에 설명 된 QR 코드의 특성에 따르면, 사각형이있는 3 개의 모서리는 데이터 영역으로 덮을 수 없습니다. 오른쪽 모서리 중간 및 하단 구석에있는 영역 만 덮을 수 있지만 너무 크지 않아야합니다.
테스트 후, 중간 이미지 크기가 중간에 작은 이미지 크기를 갖는 것이 QR 코드의 총 폭의 2/7을 차지하는 것이 더 적절하며, 이는 이미지의 선명도를 충족시킬뿐만 아니라 QR 코드의 암호화 된 데이터에도 영향을 미치지 않습니다.
작은 그림은 중앙에 가장 잘 배치되며 모양은 불규칙 할 수 있습니다.
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!