mirror of
https://github.com/opencv/opencv.git
synced 2024-12-03 08:19:52 +08:00
169 lines
4.7 KiB
Java
169 lines
4.7 KiB
Java
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();
|
|
}
|
|
}
|
|
}
|