Я совершенно новый для OpenCV в Java пытался создать программу захвата изображений, которая записывает пользователя и позволяет перемещать изображения в область захваченного изображения на графическом интерфейсе, моя единственная проблема - это, кажется, отрезана, даже когда я указал регион для того, где его следует отображать, любая помощь будет высокой добавленной.
Я совершенно новый для OpenCV в Java пытался создать программу захвата изображений, которая записывает пользователя и позволяет перемещать изображения в область захваченного изображения на графическом интерфейсе, моя единственная проблема - это, кажется, отрезана, даже когда я указал регион для того, где его следует отображать, любая помощь будет высокой добавленной.[code]package gesture.recognition; import com.sun.xml.internal.ws.api.Component; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.awt.*; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; import javax.swing.*; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfByte; import org.opencv.core.Size; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.opencv.videoio.VideoCapture; import static org.opencv.videoio.Videoio.CV_CAP_PROP_FRAME_HEIGHT; import static org.opencv.videoio.Videoio.CV_CAP_PROP_FRAME_WIDTH;
public class GestureRecognition extends javax.swing.JFrame { private DaemonThread myThread = null; int count = 0; VideoCapture webSource = null; Mat vid = new Mat(); MatOfByte mem = new MatOfByte(); int CANVAS_INITIAL_WIDTH =400; int CANVAS_INITIAL_HEIGHT =500; int Video_display=400; int Button_Area=200; float h,s,v; int alpha,r,g,b; BufferedImage img = null; File f = null; Mat hsv = new Mat();
class Canvas extends JPanel { // Called every time there is a change in the canvas contents. public void paintComponent(Graphics g) { super.paintComponent(g); draw(g);
controlPanel = new JPanel(); controlPanel.setBorder(new TitledBorder(new EtchedBorder(), "Picture")); controlPanel.setPreferredSize(new Dimension(Video_display, CANVAS_INITIAL_HEIGHT)); // the following two lines put the control panel in a scroll pane (nicer?). JScrollPane controlPanelScrollPane = new JScrollPane(controlPanel); controlPanelScrollPane.setPreferredSize(new Dimension(Video_display + 30, CANVAS_INITIAL_HEIGHT)); add(controlPanelScrollPane, BorderLayout.EAST);