search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
799 gösterim
Veri Tabanı kategorisinde 106 puan

1 cevap

0 oy
Video okumaktan kastin doayadan okumak ise java 7 ve ustunde files.read ile alabilirsin ve ya binary dosya okuma komutlarindan herhangi birini kullanabilirsinm

Eger direk kameradan okumak ise jmf, opencv kutuphanelerine bakabilirsin. Onun disinda http://webcam-capture.sarxos.pl boyle bur kutuphane var ama ben hic kullanmadim.
6.2k puan
Mp4 okumak istiyorum ve bunu bir dizine saklamak istiyorum
okumak kavramını açman gerekiyor.

Kameradan okumak farklı, dosya içinden okumak farklı. Okuduktan sonra götürüp bir yere yazmak farklı ekranda basıp göstermek farklı.

Tam amacın nedir? kopyalamak istiyorsan dosyanın ne olduğu zaten fark etmez. Dosya kopyala diye internet aratabilirsin veya bir sorumuz var burda dosya taşımakla alakalı oradaki bilgileri kullanabilirsin.

Hepsinin dışında mp4 okuyacak ve oynatacaksan JMF ile ilgilenebilirsin.

iyi çalışmalar.
Mp4 videosu indirdim internetten ve bunu kaydetim masaüstüne sonra bunu okuyub dizie saklamam gerek ve bu videonun içindeki framlerin arasaındaki benzerlikleri bulucağım. şöyle bir kod var elimde aşağda gönderiyorum ama hata alıyorum.

package video.snookerBallPath;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;

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

import marvin.gui.MarvinImagePanel;
import marvin.image.MarvinImage;
import marvin.video.MarvinJavaCVAdapter;
import marvin.video.MarvinVideoInterface;
import marvin.video.MarvinVideoInterfaceException;

public class MediaFileExample extends JFrame implements Runnable {
    private MarvinVideoInterface     videoAdapter;
    private MarvinImage                imageIn, imageOut, imageBuffer;
    private MarvinImagePanel         videoPanelLeft, videoPanelRight;
     
    private static FlowLayout        flowLayout = new FlowLayout(FlowLayout.CENTER);
    public MediaFileExample(){
        super("Media File Example");
     
        try{
            // Create the VideoAdapter used to load the video file
            videoAdapter = new MarvinJavaCVAdapter();
            videoAdapter.loadResource("./res/snooker.wmv");
             
            imageOut = new MarvinImage(videoAdapter.getImageWidth(), videoAdapter.getImageHeight());
            imageBuffer = new MarvinImage(videoAdapter.getImageWidth(), videoAdapter.getImageHeight());
             
            // Set up the Graphical User Interface
            loadGUI();
             
            // Start the thread for requesting the video frames
            new Thread(this).start();
             
            setSize((videoAdapter.getImageWidth()*2)+10,videoAdapter.getImageHeight()+80);
            setVisible(true);
        }
        catch(MarvinVideoInterfaceException e){
            e.printStackTrace();
        }
    }
     
    public static void main(String[] args) {
        MediaFileExample m = new MediaFileExample();
        m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void run() {
        try{
            while(true){
                // Request a video frame
                imageIn = videoAdapter.getFrame();
                 
                if(imageIn != null){
                    // Post the original frame in the left video panel
                    videoPanelLeft.setImage(imageIn);
                    // Image processing
                    processImage(imageIn, imageOut);
                    // Post the processed image in the right video panel
                    videoPanelRight.setImage(imageOut);
                } else{
                    break;
                }
                try{Thread.sleep(30);}catch(Exception e){}
            }
        }
        catch(MarvinVideoInterfaceException e){
            e.printStackTrace();
        }
    }
     
    /**
     * Just buffer every pixels that are not green
     * @param imgIn
     * @param imgOut
     */
    int fc=0;
    private void processImage(MarvinImage imgIn, MarvinImage imgOut){
        if(++fc == 8){
            for(int y=0; y<imgIn.getHeight(); y++){
                for(int x=0; x<imgIn.getWidth(); x++){
                     
                    int red = imgIn.getIntComponent0(x, y);
                    int green = imgIn.getIntComponent1(x, y);
                    int blue = imgIn.getIntComponent2(x, y);
                     
                    // Is it not green?
                    if
                    (!(green > 120 && green > red * 1.4 && blue < 50)){
                        imageBuffer.setIntColor(x, y, 255, red, green, blue);
                    }
                }
            }
            fc=0;
        }
         
        for(int y=0; y<imgIn.getHeight(); y++){
            for(int x=0; x<imgIn.getWidth(); x++){
                if(imageBuffer.getAlphaComponent(x, y) == 255){
                    imgOut.setIntColor(x, y, imageBuffer.getIntColor(x, y));
                }
                else{
                    imgOut.setIntColor(x, y, imageIn.getIntColor(x, y));
                }
            }
        }
    }
     
    private void loadGUI(){
        // Create VideoPanel
        videoPanelLeft     = new MarvinImagePanel();
        videoPanelRight    = new MarvinImagePanel();
         
        setLayout(new BorderLayout());
        add(videoPanelLeft, BorderLayout.WEST);
        add(videoPanelRight, BorderLayout.EAST);
         
        // Panel
        GridLayout grid = new GridLayout(1,2);
        JPanel panelTop = new JPanel(grid);
        JPanel p1 = new JPanel(flowLayout);
        p1.add(new JLabel("ORIGINAL"));
        JPanel p2 = new JPanel(flowLayout);
        p2.add(new JLabel("PROCESSED"));
        panelTop.add(p1);
        panelTop.add(p2);
        add(panelTop, BorderLayout.NORTH);
    }

}
Konuyla alakalı uzman olmamakla beraber, Open CV kütüphanesinin Matlab komutları benzeri komutlar verdiğini biliyorum. Sanıyorum yardımcı olacaktır. Kütüphanesiz standard java versiyonuyla ilerlersen daha zor olur sanıyorum.

İlgili sorular

1 oy
1 cevap 1.1K gösterim
1.1K gösterim
Elimde bir string verisi var. Diyelim ki "Bugün yeni işe başladım" olsun. Bu string'deki "y" harfinin kaçıncı harf olduğunu nasıl bulabilirim?
11 Şubat 2019 Veri Tabanı kategorisinde yildiz 193 puan sordu
0 oy
1 cevap 1.7K gösterim
1.7K gösterim
Selam Elimde var olan bir tabloya yeni alanlar ve commentler ekleyeceğim. Bunu minimum komutla nasıl yaparım Oracle'da.
5 Şubat 2019 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 663 gösterim
663 gösterim
Arkadaşlar merhaba, ödevimde bu soruyu yapamadım yardımcı olur musunuz Javada daire isimli bir sınıf oluşturunuz. Bu sınıfın alan değişkenleri yaricap ve alan olsun. Bu alan değişkenlerine ait değer atamalarını oku( ) ve alanihesapla( ) isimli bu sınıfa ait metodlarla gerçekleştiren programı Java’da kodlayınız.
23 Nisan 2021 Java kategorisinde beyza 103 puan sordu
0 oy
3 cevap 843 gösterim
843 gösterim
Selam .txt dosyamın bulundğu adresi bir string olarak atayıp, sonrasında dosya okuyacağım. Ancak şu hatayı alıyorum. Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) "C:\myfolder\deneme.txt" string karakter hatasını nasıl düzeltirim.
18 Şubat 2017 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 476 gösterim
476 gösterim
Selam java ile bir txt içindeki email şablonum var. Dosyayı okuyup String değişkeni yaratıp atamak istiyorum . Hangi kütüphaneleri kullanabilirim.
7 Şubat 2017 Java kategorisinde tolgacelik.art 2.0k puan sordu