本文整理汇总了Java中boofcv.core.image.ConvertBufferedImage类的典型用法代码示例。如果您正苦于以下问题:Java ConvertBufferedImage类的具体用法?Java ConvertBufferedImage怎么用?Java ConvertBufferedImage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ConvertBufferedImage类属于boofcv.core.image包,在下文中一共展示了ConvertBufferedImage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: processKinect
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
@Override
public void processKinect(MultiSpectral<ImageUInt8> rgb, ImageUInt16 depth, long timeRgb, long timeDepth) {
if( updateDisplay ) {
ConvertBufferedImage.convertTo_U8(rgb,buffRgb);
if( timeText >= System.currentTimeMillis() ) {
Graphics2D g2 = buffRgb.createGraphics();
g2.setFont(new Font(Font.MONOSPACED, Font.BOLD, 30));
g2.setColor(Color.RED);
g2.drawString(text,rgb.width/2-100,rgb.height/2);
}
gui.repaint();
} else if( !savedImages ) {
savedRgb.setTo(rgb);
savedDepth.setTo(depth);
savedImages = true;
}
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:21,代码来源:CaptureCalibrationImagesApp.java
示例2: processRgb
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
protected void processRgb( FrameMode mode, ByteBuffer frame, int timestamp ) {
if( mode.getVideoFormat() != VideoFormat.RGB ) {
System.out.println("Bad rgb format!");
}
System.out.println("Got rgb! "+timestamp);
if( outRgb == null ) {
rgb.reshape(mode.getWidth(),mode.getHeight());
outRgb = new BufferedImage(rgb.width,rgb.height,BufferedImage.TYPE_INT_RGB);
guiRgb = ShowImages.showWindow(outRgb,"RGB Image");
}
UtilOpenKinect.bufferRgbToMsU8(frame, rgb);
ConvertBufferedImage.convertTo_U8(rgb,outRgb);
guiRgb.repaint();
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:OpenKinectStreamingTest.java
示例3: process
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
public void process() throws IOException {
parseFrame(0);
outRgb = new BufferedImage(rgb.getWidth(),rgb.getHeight(),BufferedImage.TYPE_INT_RGB);
outDepth = new BufferedImage(depth.getWidth(),depth.getHeight(),BufferedImage.TYPE_INT_RGB);
gui = new ImageGridPanel(1,2,outRgb,outDepth);
ShowImages.showWindow(gui,"Kinect Data");
int frame = 1;
while( true ) {
parseFrame(frame++);
ConvertBufferedImage.convertTo_U8(rgb,outRgb);
VisualizeImageData.disparity(depth, outDepth, 0, UtilOpenKinect.FREENECT_DEPTH_MM_MAX_VALUE, 0);
gui.repaint();
BoofMiscOps.pause(30);
}
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:PlaybackKinectLogApp.java
示例4: processKinect
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
@Override
public void processKinect(MultiSpectral<ImageUInt8> rgb, ImageUInt16 depth, long timeRgb, long timeDepth) {
System.out.println(frameNumber+" "+timeRgb);
try {
logFile.write(String.format("%10d %d %d\n",frameNumber,timeRgb,timeDepth).getBytes());
logFile.flush();
UtilImageIO.savePPM(rgb, String.format("log/rgb%07d.ppm", frameNumber), buffer);
UtilOpenKinect.saveDepth(depth, String.format("log/depth%07d.depth", frameNumber), buffer);
frameNumber++;
if( showImage ) {
ConvertBufferedImage.convertTo_U8(rgb,buffRgb);
gui.repaint();
}
} catch (IOException e) {
e.printStackTrace();
}
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:LogKinectDataApp.java
示例5: next
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
@Override
public T next() {
if (reducedImage != null) {
Graphics2D g2 = reducedImage.createGraphics();
g2.scale(1.0 / factor, 1.0 / factor);
g2.drawImage(bufferedImage, 0, 0, null);
imageGUI = reducedImage;
} else {
imageGUI = bufferedImage;
}
image.reshape(imageGUI.getWidth(),imageGUI.getHeight());
ConvertBufferedImage.convertFrom(imageGUI, image);
return image;
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:18,代码来源:XugglerSimplified.java
示例6: extractFeaturesInternal
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Detects key points inside the image and computes descriptions at those points.
*/
protected double[][] extractFeaturesInternal(BufferedImage image) {
ImageFloat32 boofcvImage = ConvertBufferedImage.convertFromSingle(image, null, ImageFloat32.class);
// create the SIFT detector and descriptor in BoofCV v0.15
ConfigSiftDetector conf = new ConfigSiftDetector(2, detectThreshold, maxFeaturesPerScale, 5);
DetectDescribePoint<ImageFloat32, SurfFeature> sift = FactoryDetectDescribe.sift(null, conf, null,
null);
// specify the image to process
sift.detect(boofcvImage);
int numPoints = sift.getNumberOfFeatures();
double[][] descriptions = new double[numPoints][SIFTLength];
for (int i = 0; i < numPoints; i++) {
descriptions[i] = sift.getDescription(i).getValue();
}
return descriptions;
}
开发者ID:MKLab-ITI,项目名称:multimedia-indexing,代码行数:20,代码来源:SIFTExtractor.java
示例7: setActiveAlgorithm
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
@Override
public void setActiveAlgorithm(int indexFamily, String name, Object cookie) {
if( color == null || 0 == panel.getWidth() || 0 == panel.getHeight() ) {
return;
}
InterpolatePixel<T> interp = (InterpolatePixel<T>)cookie;
scaledImage.reshape(panel.getWidth(),panel.getHeight());
PixelTransformAffine_F32 model = DistortSupport.transformScale(scaledImage,color);
for( int i = 0; i < color.getNumBands(); i++ )
DistortImageOps.distortSingle(color.getBand(i),scaledImage.getBand(i),model,null,interp);
// numerical round off error can cause the interpolation to go outside
// of pixel value bounds
// GeneralizedImageOps.boundImage(scaledImage,0,255);
BufferedImage out = ConvertBufferedImage.convertTo(scaledImage,null);
panel.setBufferedImage(out);
panel.repaint();
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:22,代码来源:EvaluateInterpolateEnlargeApp.java
示例8: addUndistorted
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
private void addUndistorted(final String name, final PointTransform_F32 model) {
// Set up image distort
InterpolatePixel<ImageFloat32> interp = FactoryInterpolation.bilinearPixel(ImageFloat32.class);
ImageDistort<ImageFloat32> undistorter = FactoryDistort.distort(interp, null, ImageFloat32.class);
undistorter.setModel(new PointToPixelTransform_F32(model));
// Fill the image with all black then render it
GImageMiscOps.fill(undist, 0);
DistortImageOps.distortMS(dist, undist, undistorter);
final BufferedImage out = ConvertBufferedImage.convertTo(undist,null);
// Add this rectified image
SwingUtilities.invokeLater(new Runnable() {
public void run() {
gui.addItem(new ImagePanel(out), name);
}});
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:RemoveLensDistortionApp.java
示例9: detectLineSegments
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Detects segments inside the image
*
* @param image Input image.
* @param imageType Type of image processed by line detector.
* @param derivType Type of image derivative.
*/
public static<T extends ImageSingleBand, D extends ImageSingleBand>
void detectLineSegments( BufferedImage image ,
Class<T> imageType ,
Class<D> derivType )
{
// convert the line into a single band image
T input = ConvertBufferedImage.convertFromSingle(image, null, imageType );
// Comment/uncomment to try a different type of line detector
DetectLineSegmentsGridRansac<T,D> detector = FactoryDetectLineAlgs.lineRansac(40, 30, 2.36, true, imageType, derivType);
List<LineSegment2D_F32> found = detector.detect(input);
// display the results
ImageLinePanel gui = new ImageLinePanel();
gui.setBackground(image);
gui.setLineSegments(found);
gui.setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));
ShowImages.showWindow(gui,"Found Line Segments");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:29,代码来源:ExampleLineDetection.java
示例10: independent
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Many operations designed to only work on {@link boofcv.struct.image.ImageSingleBand} can be applied
* to a MultiSpectral image by feeding in each band one at a time.
*/
public static void independent( BufferedImage input ) {
// convert the BufferedImage into a MultiSpectral
MultiSpectral<ImageUInt8> image = ConvertBufferedImage.convertFromMulti(input,null,ImageUInt8.class);
// declare the output blurred image
MultiSpectral<ImageUInt8> blurred =
new MultiSpectral<ImageUInt8>(ImageUInt8.class,image.width,image.height,image.getNumBands());
// Apply Gaussian blur to each band in the image
for( int i = 0; i < image.getNumBands(); i++ ) {
// note that the generalized version of BlurImageOps is not being used, but the type
// specific version.
BlurImageOps.gaussian(image.getBand(i),blurred.getBand(i),-1,5,null);
}
// Declare the BufferedImage manually to ensure that the color bands have the same ordering on input
// and output
BufferedImage output = new BufferedImage(image.width,image.height,input.getType());
ConvertBufferedImage.convertTo(blurred, output);
ShowImages.showWindow(input,"Input");
ShowImages.showWindow(output,"Ouput");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:27,代码来源:ExampleMultiSpectralImages.java
示例11: convertBufferedToRGB
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* BufferedImage support many different image formats internally. More often than not the order
* of its bands are not RGB, which can cause problems when you expect it to be RGB. A function
* is provided that will swap the bands of a MultiSpectral image created from a BufferedImage
* to ensure that it is in RGB ordering.
*/
public static void convertBufferedToRGB( BufferedImage input ) {
// convert the BufferedImage into a MultiSpectral
MultiSpectral<ImageUInt8> image = ConvertBufferedImage.convertFromMulti(input,null,ImageUInt8.class);
int x=15,y=15;
// print the value of "red" at a pixel to make it easy to see the change
System.out.print("before: ");
for( int i = 0; i < image.getNumBands(); i++ )
System.out.print(image.getBand(i).get(x,y)+" ");
System.out.println();
// change the bands
ConvertBufferedImage.orderBandsIntoRGB(image,input);
// THe value of red should be different of the BufferedImage was not in RGB format.
System.out.print("After: ");
for( int i = 0; i < image.getNumBands(); i++ )
System.out.print(image.getBand(i).get(x,y)+" ");
System.out.println();
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:29,代码来源:ExampleMultiSpectralImages.java
示例12: pixelAccess
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Values of pixels can be read and modified by accessing the internal {@link boofcv.struct.image.ImageSingleBand}.
*/
public static void pixelAccess( BufferedImage input ) {
// convert the BufferedImage into a MultiSpectral
MultiSpectral<ImageUInt8> image = ConvertBufferedImage.convertFromMulti(input,null,ImageUInt8.class);
int x = 10, y = 10;
// to access a pixel you first access the gray image for the each band
for( int i = 0; i < image.getNumBands(); i++ )
System.out.println("Original "+i+" = "+image.getBand(i).get(x,y));
// change the value in each band
for( int i = 0; i < image.getNumBands(); i++ )
image.getBand(i).set(x, y, 100 + i);
// to access a pixel you first access the gray image for the each band
for( int i = 0; i < image.getNumBands(); i++ )
System.out.println("Result "+i+" = "+image.getBand(i).get(x,y));
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:22,代码来源:ExampleMultiSpectralImages.java
示例13: convertToGray
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* There is no real perfect way that everyone agrees on for converting color images into gray scale
* images. Two examples of how to convert a MultiSpectral image into a gray scale image are shown
* in this example.
*/
public static void convertToGray( BufferedImage input ) {
// convert the BufferedImage into a MultiSpectral
MultiSpectral<ImageUInt8> image = ConvertBufferedImage.convertFromMulti(input,null,ImageUInt8.class);
ImageUInt8 gray = new ImageUInt8( image.width,image.height);
// creates a gray scale image by averaging intensity value across pixels
GPixelMath.averageBand(image, gray);
BufferedImage outputAve = ConvertBufferedImage.convertTo(gray,null);
// create an output image just from the first band
BufferedImage outputBand0 = ConvertBufferedImage.convertTo(image.getBand(0),null);
ShowImages.showWindow(outputAve,"Average");
ShowImages.showWindow(outputBand0,"Band 0");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:22,代码来源:ExampleMultiSpectralImages.java
示例14: process
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Updates and displays the pyramid.
*/
public void process( BufferedImage image ) {
T input = ConvertBufferedImage.convertFromSingle(image, null, imageType);
pyramid.process(input);
ImagePyramidPanel<T> gui = new ImagePyramidPanel<T>();
gui.set(pyramid, true);
gui.render();
ShowImages.showWindow(gui,"Image Pyramid Float");
// To get an image at any of the scales simply call this get function
T imageAtScale = pyramid.getLayer(1);
ShowImages.showWindow(ConvertBufferedImage.convertTo(imageAtScale,null),"Image at layer 1");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:ExamplePyramidFloat.java
示例15: sharpen
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* When an image is sharpened the intensity of edges are made more extreme while flat regions remain unchanged.
*/
public static void sharpen() {
// BufferedImage buffered = UtilImageIO.loadImage("../data/applet/enhance/dull.jpg");
BufferedImage buffered = UtilImageIO.loadImage("../data/applet/enhance/dark.jpg");
ImageUInt8 gray = ConvertBufferedImage.convertFrom(buffered,(ImageUInt8)null);
ImageUInt8 adjusted = new ImageUInt8(gray.width, gray.height);
ListDisplayPanel panel = new ListDisplayPanel();
EnhanceImageOps.sharpen4(gray, adjusted);
panel.addImage(ConvertBufferedImage.convertTo(adjusted,null),"Sharpen-4");
EnhanceImageOps.sharpen8(gray, adjusted);
panel.addImage(ConvertBufferedImage.convertTo(adjusted,null),"Sharpen-8");
panel.addImage(ConvertBufferedImage.convertTo(gray,null),"Original");
panel.setPreferredSize(new Dimension(gray.width,gray.height));
ShowImages.showWindow(panel,"Sharpen");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:24,代码来源:ExampleImageEnhancement.java
示例16: process
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Updates and displays the pyramid.
*/
public void process( BufferedImage image ) {
T input = ConvertBufferedImage.convertFromSingle(image, null, imageType);
pyramid.process(input);
DiscretePyramidPanel gui = new DiscretePyramidPanel();
gui.setPyramid(pyramid);
gui.render();
ShowImages.showWindow(gui,"Image Pyramid");
// To get an image at any of the scales simply call this get function
T imageAtScale = pyramid.getLayer(1);
ShowImages.showWindow(ConvertBufferedImage.convertTo(imageAtScale,null),"Image at layer 1");
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:ExamplePyramidDiscrete.java
示例17: extractFeaturesInternal
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Detects key points inside the image and computes descriptions at those points.
*/
protected double[][] extractFeaturesInternal(BufferedImage image) {
ImageFloat32 boofcvImage = ConvertBufferedImage.convertFromSingle(image, null, ImageFloat32.class);
// create the SURF detector and descriptor in BoofCV v0.15
ConfigFastHessian conf = new ConfigFastHessian(detectThreshold, 2, maxFeaturesPerScale, 2, 9, 4, 4);
DetectDescribePoint<ImageFloat32, SurfFeature> surf = FactoryDetectDescribe.surfStable(conf, null,
null, ImageFloat32.class);
// specify the image to process
surf.detect(boofcvImage);
int numPoints = surf.getNumberOfFeatures();
double[][] descriptions = new double[numPoints][SURFLength];
for (int i = 0; i < numPoints; i++) {
descriptions[i] = surf.getDescription(i).getValue();
}
return descriptions;
}
开发者ID:MKLab-ITI,项目名称:multimedia-indexing,代码行数:20,代码来源:SURFExtractor.java
示例18: process
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
public void process( BufferedImage image ) {
input.reshape(image.getWidth(),image.getHeight());
noisy.reshape(input.width,input.height);
output.reshape(input.width,input.height);
deriv.reshape(input.width,input.height);
ConvertBufferedImage.convertFromSingle(image, input, imageType);
// add noise to the image
noisy.setTo(input);
GImageMiscOps.addGaussian(noisy, rand, noiseSigma, 0, 255);
GPixelMath.boundImage(noisy,0,255);
// compute edge image for weighted error
GImageDerivativeOps.laplace(input,deriv);
GPixelMath.abs(deriv,deriv);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
images.clear();
images.add(ConvertBufferedImage.convertTo(output,null));
images.add(ConvertBufferedImage.convertTo(noisy,null));
images.add(ConvertBufferedImage.convertTo(input,null));
info.reset();
doRefreshAll();
}});
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:27,代码来源:DenoiseVisualizeApp.java
示例19: stitch
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
/**
* Given two input images create and display an image where the two have been overlayed on top of each other.
*/
public static <T extends ImageSingleBand>
void stitch( BufferedImage imageA , BufferedImage imageB , Class<T> imageType )
{
T inputA = ConvertBufferedImage.convertFromSingle(imageA, null, imageType);
T inputB = ConvertBufferedImage.convertFromSingle(imageB, null, imageType);
// Detect using the standard SURF feature descriptor and describer
DetectDescribePoint detDesc = FactoryDetectDescribe.surfStable(
new ConfigFastHessian(1, 2, 200, 1, 9, 4, 4), null,null, ImageDataType.single(imageType));
ScoreAssociation<SurfFeature> scorer = FactoryAssociation.scoreEuclidean(SurfFeature.class,true);
AssociateDescription<SurfFeature> associate = FactoryAssociation.greedy(scorer,2,true);
// fit the images using a homography. This works well for rotations and distant objects.
GenerateHomographyLinear modelFitter = new GenerateHomographyLinear(true);
DistanceHomographySq distance = new DistanceHomographySq();
ModelMatcher<Homography2D_F64,AssociatedPair> modelMatcher =
new Ransac<Homography2D_F64,AssociatedPair>(123,modelFitter,distance,60,9);
Homography2D_F64 H = computeTransform(inputA, inputB, detDesc, associate, modelMatcher);
renderStitching(imageA,imageB,H);
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:27,代码来源:ExampleImageStitching.java
示例20: process
import boofcv.core.image.ConvertBufferedImage; //导入依赖的package包/类
public void process( final BufferedImage image ) {
input.reshape(image.getWidth(),image.getHeight());
output.reshape(image.getWidth(),image.getHeight());
storage.reshape(image.getWidth(),image.getHeight());
ConvertBufferedImage.convertFromMulti(image, input, imageType);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setInputImage(image);
renderedImage = new BufferedImage(input.width, input.height,BufferedImage.TYPE_INT_BGR);
gui.setBufferedImage(renderedImage);
gui.setPreferredSize(new Dimension(input.width,input.height));
gui.repaint();
processedImage = true;
doRefreshAll();
}});
}
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:ShowImageBlurApp.java
注:本文中的boofcv.core.image.ConvertBufferedImage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论