public void testDecodingRowByRow() { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); BinaryBitmap binaryMap = TestCaseUtil.getBinaryBitmap("test/data/blackbox/rssexpandedstacked-2/1000.png"); int firstRowNumber = binaryMap.Height / 3; BitArray firstRow = binaryMap.getBlackRow(firstRowNumber, null); Assert.IsFalse(rssExpandedReader.decodeRow2pairs(firstRowNumber, firstRow)); Assert.AreEqual(1, rssExpandedReader.Rows.Count); ExpandedRow firstExpandedRow = rssExpandedReader.Rows[0]; Assert.AreEqual(firstRowNumber, firstExpandedRow.RowNumber); Assert.AreEqual(2, firstExpandedRow.Pairs.Count); firstExpandedRow.Pairs[1].FinderPattern.StartEnd[1] = 0; int secondRowNumber = 2 * binaryMap.Height / 3; BitArray secondRow = binaryMap.getBlackRow(secondRowNumber, null); secondRow.reverse(); Assert.IsTrue(rssExpandedReader.decodeRow2pairs(secondRowNumber, secondRow)); var totalPairs = rssExpandedReader.Pairs; Result result = RSSExpandedReader.constructResult(totalPairs); Assert.AreEqual("(01)98898765432106(3202)012345(15)991231", result.Text); }
public void testRetrieveNextPairPatterns() { var rssExpandedReader = new RSSExpandedReader(); var image = TestCaseUtil.readImage("test/data/blackbox/rssexpanded-1", "3.png"); var binaryMap = new BinaryBitmap(new GlobalHistogramBinarizer(new BitmapLuminanceSource(image))); var rowNumber = binaryMap.Height / 2; var row = binaryMap.getBlackRow(rowNumber, null); var previousPairs = new List <ExpandedPair>(); var pair1 = rssExpandedReader.retrieveNextPair(row, previousPairs, rowNumber); previousPairs.Add(pair1); var finderPattern = pair1.FinderPattern; Assert.IsNotNull(finderPattern); Assert.AreEqual(0, finderPattern.Value); var pair2 = rssExpandedReader.retrieveNextPair(row, previousPairs, rowNumber); previousPairs.Add(pair2); finderPattern = pair2.FinderPattern; Assert.IsNotNull(finderPattern); Assert.AreEqual(0, finderPattern.Value); }
public void testCompleteDecode() { RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); BinaryBitmap binaryMap = TestCaseUtil.getBinaryBitmap("test/data/blackbox/rssexpandedstacked-2/1000.png"); Result result = rssExpandedReader.decode(binaryMap); Assert.AreEqual("(01)98898765432106(3202)012345(15)991231", result.Text); }
private static void assertCorrectImage2binary(String imageFileName, String expected) { var rssExpandedReader = new RSSExpandedReader(); var binaryMap = TestCaseUtil.getBinaryBitmap("test/data/blackbox/rssexpanded-1", imageFileName); var rowNumber = binaryMap.Height / 2; var row = binaryMap.getBlackRow(rowNumber, null); Assert.IsTrue(rssExpandedReader.decodeRow2pairs(rowNumber, row)); var binary = BitArrayBuilder.buildBitArray(rssExpandedReader.Pairs); Assert.AreEqual(expected, binary.ToString()); }
private static void assertCorrectImage2string(String imageFileName, String expected) { var rssExpandedReader = new RSSExpandedReader(); var binaryMap = TestCaseUtil.getBinaryBitmap("test/data/blackbox/rssexpanded-1", imageFileName); var rowNumber = binaryMap.Height / 2; var row = binaryMap.getBlackRow(rowNumber, null); var result = rssExpandedReader.decodeRow(rowNumber, row, null); Assert.IsNotNull(result); Assert.AreEqual(BarcodeFormat.RSS_EXPANDED, result.BarcodeFormat); Assert.AreEqual(expected, result.Text); }
public void testDecodeCheckCharacter() { var rssExpandedReader = new RSSExpandedReader(); var image = TestCaseUtil.readImage("test/data/blackbox/rssexpanded-1", "3.png"); var binaryMap = new BinaryBitmap(new GlobalHistogramBinarizer(new BitmapLuminanceSource(image))); var row = binaryMap.getBlackRow(binaryMap.Height / 2, null); int[] startEnd = { 145, 243 }; //image pixels where the A1 pattern starts (at 124) and ends (at 214) int value = 0; // A var finderPatternA1 = new FinderPattern(value, startEnd, startEnd[0], startEnd[1], image.Height / 2); //{1, 8, 4, 1, 1}; var dataCharacter = rssExpandedReader.decodeDataCharacter(row, finderPatternA1, true, true); Assert.AreEqual(98, dataCharacter.Value); }