| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package org.opencv.test.imgcodecs;
- import org.opencv.core.Mat;
- import org.opencv.core.MatOfByte;
- import org.opencv.core.MatOfInt;
- import org.opencv.imgproc.Imgproc;
- import org.opencv.imgcodecs.Imgcodecs;
- import org.opencv.imgcodecs.Animation;
- import org.opencv.test.OpenCVTestCase;
- import org.opencv.test.OpenCVTestRunner;
- import java.util.ArrayList;
- import java.util.List;
- public class ImgcodecsTest extends OpenCVTestCase {
- public void testAnimation() {
- if (!Imgcodecs.haveImageWriter("*.apng")) {
- return;
- }
- Mat src = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH, Imgcodecs.IMREAD_REDUCED_COLOR_4);
- assertFalse(src.empty());
- Mat rgb = new Mat();
- Imgproc.cvtColor(src, rgb, Imgproc.COLOR_BGR2RGB);
- Animation animation = new Animation();
- List<Mat> frames = new ArrayList<>();
- MatOfInt durations = new MatOfInt(100, 100);
- frames.add(src);
- frames.add(rgb);
- animation.set_frames(frames);
- animation.set_durations(durations);
- String filename = OpenCVTestRunner.getTempFileName("png");
- assertTrue(Imgcodecs.imwriteanimation(filename, animation));
- Animation readAnimation = new Animation();
- assertTrue(Imgcodecs.imreadanimation(filename, readAnimation));
- List<Mat> readFrames = readAnimation.get_frames();
- assertTrue(readFrames.size() == 2);
- }
- public void testImdecode() {
- fail("Not yet implemented");
- }
- public void testImencodeStringMatListOfByte() {
- MatOfByte buff = new MatOfByte();
- assertEquals(0, buff.total());
- assertTrue( Imgcodecs.imencode(".jpg", gray127, buff) );
- assertFalse(0 == buff.total());
- }
- public void testImencodeStringMatListOfByteListOfInteger() {
- MatOfInt params40 = new MatOfInt(Imgcodecs.IMWRITE_JPEG_QUALITY, 40);
- MatOfInt params90 = new MatOfInt(Imgcodecs.IMWRITE_JPEG_QUALITY, 90);
- /* or
- MatOfInt params = new MatOfInt();
- params.fromArray(Imgcodecs.IMWRITE_JPEG_QUALITY, 40);
- */
- MatOfByte buff40 = new MatOfByte();
- MatOfByte buff90 = new MatOfByte();
- assertTrue( Imgcodecs.imencode(".jpg", rgbLena, buff40, params40) );
- assertTrue( Imgcodecs.imencode(".jpg", rgbLena, buff90, params90) );
- assertTrue(buff40.total() > 0);
- assertTrue(buff40.total() < buff90.total());
- }
- public void testImreadString() {
- dst = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH);
- assertFalse(dst.empty());
- assertEquals(3, dst.channels());
- assertTrue(512 == dst.cols());
- assertTrue(512 == dst.rows());
- }
- public void testImreadStringInt() {
- dst = Imgcodecs.imread(OpenCVTestRunner.LENA_PATH, Imgcodecs.IMREAD_GRAYSCALE);
- assertFalse(dst.empty());
- assertEquals(1, dst.channels());
- assertTrue(512 == dst.cols());
- assertTrue(512 == dst.rows());
- }
- public void testImwriteStringMat() {
- fail("Not yet implemented");
- }
- public void testImwriteStringMatListOfInteger() {
- fail("Not yet implemented");
- }
- }
|