Chroma Key, Green Screen

0

Dostalem zadanie by wyciete twarze z zdjec zapisac jako odrebne pliki. Troche mi to nie wychodzi.
Jest to czescia projektu na zaliczenie. Musimy zbudowac budke do robienia zdjec. W ktorej bedzie sie znajdowal Green Screan.
Program powinnien miec rowniez mozliwosc zmienienia tla zdecia.

Jesli ktos ma jakies pomysly jak to zrobic. Bede wdzieczny.

0

Przy tak dużej liczbie konkretów, które podałeś ( sorry, nie czytałem .docx - takie zasady) to mam takie ogólne rady.

  1. Ściągnij jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Ściągnij intellij (może być community edition) https://www.jetbrains.com/idea/download
  3. W menu file wybierz new project -> java
  4. Dalej już prosto. Programujesz i masz.
0
jarekr000000 napisał(a):

Przy tak dużej liczbie konkretów, które podałeś ( sorry, nie czytałem .docx - takie zasady) to mam takie ogólne rady.

  1. Ściągnij jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Ściągnij intellij (może być community edition) https://www.jetbrains.com/idea/download
  3. W menu file wybierz new project -> java
  4. Dalej już prosto. Programujesz i masz.

Dziekuje na pewno skorzystam i zapoznam sie z zasadami forum. Jesli takie istnieja.
A co do zawartosci pliku. Gdy nie udalo mi sie zaladowac calego projektu do mojego pytania, skopiowalem po prostu to co juz mam do jednego pliku.

0
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;

public class SimpleFaceDetection extends SimpleGUI
{
	public SimpleFaceDetection(String title)
	{
		super(title);
	}

	@Override
	public void loadImage(Mat imageMat)
	{

	
		MatOfRect detectedFaces = new MatOfRect();
		CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt.xml");
		faceDetector.detectMultiScale(imageMat, detectedFaces);


		for (Rect r : detectedFaces.toArray())
			Imgproc.rectangle(imageMat, new Point(r.x, r.y), new Point(r.x + r.width, r.y + r.height),
					new Scalar(0, 255, 0));

		super.loadImage(imageMat);
	}

	public static void main(String[] args) throws Exception
	{
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		new SimpleFaceDetection("SimpleFaceDetection");
	}
}
0

import java.awt.Dimension;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;

import javax.swing.ImageIcon;

import javax.swing.JFrame;
import javax.swing.JLabel;

import javax.swing.JScrollPane;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;

public class SimpleGUI extends JFrame
{
	static String imagePath = "NASA_Astronauten.jpg";
	private JLabel imageView = new JLabel();

	public SimpleGUI(String title)
	{
		super(title);
		initUI();
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		pack();
		setLocationRelativeTo(null);
	}
	

	private void initUI()
	{
		JScrollPane sp = new JScrollPane(imageView);
		sp.setPreferredSize(new Dimension(640, 480));
		add(sp);
		Mat imageMat = Imgcodecs.imread(imagePath);
		if (imageMat.dataAddr() == 0)
		{
			System.out.println("Bilddatei konnte nicht geladen werden.");
			System.exit(0);
		}
		else
			loadImage(imageMat);
	}

	public void loadImage(Mat imageMat)
	{
		Image im = toBufferedImage(imageMat);
		imageView.setIcon(new ImageIcon(im));
	}

	public Image toBufferedImage(Mat matrix)
	{
		int buffersize = matrix.channels() * matrix.cols() * matrix.rows();
		byte[] buffer = new byte[buffersize];
		matrix.get(0, 0, buffer);

		BufferedImage bi = new BufferedImage(matrix.cols(), matrix.rows(), BufferedImage.TYPE_3BYTE_BGR);
		final byte[] targetPixels = ((DataBufferByte) bi.getRaster().getDataBuffer()).getData();
		System.arraycopy(buffer, 0, targetPixels, 0, buffer.length);
		return bi;
	}

	public static void main(String[] args)

			throws Exception
	{
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		new SimpleGUI("SimpleGUI");
	}
}
0
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;

public class SimpleSample
{
	public static void main(String[] args)
	{
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		System.out.println("Welcome to OpenCV-Version " + Core.VERSION);
		Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
		Mat mr1 = m.row(1);
		mr1.setTo(new Scalar(1));
		Mat mc5 = m.col(5);
		mc5.setTo(new Scalar(5));
		System.out.println("Mat data: \n" + m.dump());
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1