public void setBufferedImage( BufferedImage buff ) { queueBuff[selected] = ConvertBufferedImage.checkCopy(buff,queueBuff[selected]); }
@Override public void processImage(int sourceID, long frameID, final BufferedImage buffered, ImageBase input) { System.out.flush(); original = ConvertBufferedImage.checkCopy(buffered,original); work = ConvertBufferedImage.checkDeclare(buffered,work); final double timeInSeconds; synchronized (lockProcessing) { long before = System.nanoTime(); detector.process((GrayF32)input); long after = System.nanoTime(); timeInSeconds = (after-before)*1e-9; } SwingUtilities.invokeLater(new Runnable() { @Override public void run() { controls.setProcessingTime(timeInSeconds); viewUpdated(); } }); }
public void cacheNext() { selected = (selected+1)%queueBoof.length; T sBoof = sequence.next(); BufferedImage sBuff = sequence.getGuiImage(); queueBoof[selected].setTo(sBoof); queueBuff[selected] = ConvertBufferedImage.checkCopy(sBuff,queueBuff[selected]); }
@Override public void processImage(int sourceID, long frameID, final BufferedImage buffered, ImageBase input) { synchronized (this) { original = ConvertBufferedImage.checkCopy(buffered, original); work = ConvertBufferedImage.checkDeclare(buffered, work); } // SwingUtilities.invokeLater(new Runnable() { // @Override // public void run() { // Dimension d = guiImage.getPreferredSize(); // if( d.getWidth() < buffered.getWidth() || d.getHeight() < buffered.getHeight() ) { // guiImage.setPreferredSize(new Dimension(buffered.getWidth(), buffered.getHeight())); // } // }}); synchronized (this) { inputToBinary.process((T)input,binary); contourAlg.process(binary,labeled); } SwingUtilities.invokeLater(new Runnable() { @Override public void run() { viewUpdated(); } }); }
original = ConvertBufferedImage.checkCopy(buffered, original); work = ConvertBufferedImage.checkDeclare(buffered, work);
@Override public void processImage(int sourceID, long frameID, BufferedImage buffered, ImageBase input) { inputCopy = ConvertBufferedImage.checkCopy(buffered,inputCopy); ConfigThreshold config = controlPanel.threshold.createConfig(); InputToBinary inputToBinary = FactoryThresholdBinary.threshold(config,input.imageType.getImageClass()); inputToBinary.process(input,imageBinary); VisualizeBinaryData.renderBinary(imageBinary, false, visualizedBinary); SwingUtilities.invokeLater(() -> { controlPanel.threshold.updateHistogram((ImageGray)input); changeView(); }); }
@Override public void processImage(int sourceID, long frameID, BufferedImage buffered, ImageBase input) { visualized = ConvertBufferedImage.checkDeclare(buffered, visualized); original = ConvertBufferedImage.checkCopy(buffered, original); segmented.reshape(input.width,input.height); final double fps; synchronized (lockBackground) { long timeBefore = System.nanoTime(); background.updateBackground((GrayU8) input, segmented); long timeAfter = System.nanoTime(); fps = 1000.0/((timeAfter-timeBefore)*1e-6); } VisualizeBinaryData.renderBinary(segmented, false, visualized); BoofSwingUtil.invokeNowOrLater(() -> { imagePanels.setImage(0,0,visualized); imagePanels.setImage(0,1,original); imagePanels.repaint(); controls.setFPS(fps); }); }
@Override public synchronized void processImage(int sourceID, long frameID, final BufferedImage buffered, ImageBase input) { if( buffered != null ) { original = ConvertBufferedImage.checkCopy(buffered,original); work = ConvertBufferedImage.checkDeclare(buffered,work); binary.reshape(input.getWidth(), input.getHeight()); filtered.reshape(input.getWidth(),input.getHeight()); inputPrev.setTo((GrayU8)input); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { Dimension d = gui.getPreferredSize(); if( d.getWidth() < buffered.getWidth() || d.getHeight() < buffered.getHeight() ) { gui.setPreferredSize(new Dimension(buffered.getWidth(), buffered.getHeight())); } }}); } else { input = inputPrev; } process((GrayU8)input); }
original = ConvertBufferedImage.checkCopy(buffered, original); work = ConvertBufferedImage.checkDeclare(buffered, work);
@Override public void processImage(int sourceID, long frameID, BufferedImage buffered, ImageBase input) { original = ConvertBufferedImage.checkCopy(buffered, original); T gray = (T) input; deriv.setInput(gray); D derivX = deriv.getDerivative(true); D derivY = deriv.getDerivative(false); D derivXX = deriv.getDerivative(true, true); D derivYY = deriv.getDerivative(false, false); D derivXY = deriv.getDerivative(true, false); GrayF32 featureImg; synchronized (lockAlgorithm) { detector.process(gray, derivX, derivY, derivXX, derivYY, derivXY); featureImg = detector.getIntensity(); VisualizeImageData.colorizeSign(featureImg, visualized, ImageStatistics.maxAbs(featureImg)); synchronized (lockCorners) { minimums.reset(); minimums.addAll(detector.getMinimums()); maximums.reset(); maximums.addAll(detector.getMaximums()); } } SwingUtilities.invokeLater(() -> { changeViewImage(); imagePanel.repaint(); }); }