mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
4.7 KiB
168 lines
4.7 KiB
package org.opencv.test.highgui; |
|
|
|
import java.util.List; |
|
|
|
import org.opencv.core.Size; |
|
import org.opencv.videoio.Videoio; |
|
import org.opencv.videoio.VideoCapture; |
|
|
|
import org.opencv.test.OpenCVTestCase; |
|
|
|
public class VideoCaptureTest extends OpenCVTestCase { |
|
|
|
private VideoCapture capture; |
|
private boolean isOpened; |
|
private boolean isSucceed; |
|
|
|
@Override |
|
protected void setUp() throws Exception { |
|
super.setUp(); |
|
|
|
capture = null; |
|
isTestCaseEnabled = false; |
|
isSucceed = false; |
|
isOpened = false; |
|
} |
|
|
|
public void testGet() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
double frameWidth = capture.get(Videoio.CV_CAP_PROP_FRAME_WIDTH); |
|
assertTrue(0 != frameWidth); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testGetSupportedPreviewSizes() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
List<Size> sizes = capture.getSupportedPreviewSizes(); |
|
assertNotNull(sizes); |
|
assertFalse(sizes.isEmpty()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testGrab() { |
|
capture = new VideoCapture(); |
|
isSucceed = capture.grab(); |
|
assertFalse(isSucceed); |
|
} |
|
|
|
public void testGrabFromRealCamera() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
isSucceed = capture.grab(); |
|
assertTrue(isSucceed); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testIsOpened() { |
|
capture = new VideoCapture(); |
|
assertFalse(capture.isOpened()); |
|
} |
|
|
|
public void testIsOpenedRealCamera() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
isOpened = capture.isOpened(); |
|
assertTrue(isOpened); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testOpen() { |
|
try { |
|
capture = new VideoCapture(); |
|
capture.open(Videoio.CV_CAP_ANDROID); |
|
isOpened = capture.isOpened(); |
|
assertTrue(isOpened); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testRead() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
isSucceed = capture.read(dst); |
|
assertTrue(isSucceed); |
|
assertFalse(dst.empty()); |
|
assertEquals(3, dst.channels()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testRelease() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
capture.release(); |
|
assertFalse(capture.isOpened()); |
|
capture = null; |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testRetrieveMat() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
capture.grab(); |
|
isSucceed = capture.retrieve(dst); |
|
assertTrue(isSucceed); |
|
assertFalse(dst.empty()); |
|
assertEquals(3, dst.channels()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testRetrieveMatInt() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
capture.grab(); |
|
isSucceed = capture.retrieve(dst, Videoio.CV_CAP_ANDROID_GREY_FRAME); |
|
assertTrue(isSucceed); |
|
assertFalse(dst.empty()); |
|
assertEquals(1, dst.channels()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testSet() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
capture.set(Videoio.CV_CAP_PROP_FRAME_WIDTH, 640); |
|
capture.set(Videoio.CV_CAP_PROP_FRAME_HEIGHT, 480); |
|
double frameWidth = capture.get(Videoio.CV_CAP_PROP_FRAME_WIDTH); |
|
capture.read(dst); |
|
assertEquals(640.0, frameWidth); |
|
assertEquals(640, dst.cols()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
|
|
public void testVideoCapture() { |
|
capture = new VideoCapture(); |
|
assertNotNull(capture); |
|
assertFalse(capture.isOpened()); |
|
} |
|
|
|
public void testVideoCaptureInt() { |
|
try { |
|
capture = new VideoCapture(Videoio.CV_CAP_ANDROID); |
|
assertNotNull(capture); |
|
assertTrue(capture.isOpened()); |
|
} finally { |
|
if (capture != null) capture.release(); |
|
} |
|
} |
|
}
|
|
|