Is there any javascript library for graph (network topology) visualization with support custom image as background with zoom support? Idea is to use floor plan (jpg/png) and change positions of nodes according their real position. I can't find any example with background image. Thank you!
example screenshot
I think this meets your requirement in having a background image to the whole diagram:
https://gojs.net/latest/samples/kittenMonitor.html
Control-mouse-wheel or pinch-zoom to change the scale interactively.
This sample does not happen to show any links connecting the nodes, and those nodes happen to be moving slowly, but those features are not necessary for showing any background image. FYI, I am a developer of GoJS.
Related
Usually the logo detection means find the logo and recognize the logo. Some common works do the two steps together using SIFT/SURF matching method, detailed in
(1) Logo recognition in images
(2) Logo detection using OpenCV
But, if the logo is tiny and blur, the result is poor, and kind of time consuming; I want to split the two steps, firstly finding where the logo is in video; then recognize the logo using template matching or other method, like:
(3) Logo recognition - how to improve performance
(4) OpenCV logo recognition
My problem is mainly focused on finding the logo automatically in video. I tried two methods:
Brightness method. The logo on tv screen usually always there when the show goes on, I select a list of frames randomly and do difference between frames, the logo area tend to be 0; I do some statistics of 0 brightness with threshold to determine whether the pix is logo or not. This method usually do well but failed while the show has static background.
Edge method. Likely, if the logo is there, the border tends to be obvious. I do the statistic work like Brightness method, but edge sometimes unstableļ¼such as very bright background.
Are there any suggestions or state of art methods to auto finding logo areas and any other logo recognition method except sift or template matching ?
Let's assume your list of logos known before hand and you have access to examples (video streams/frames) of all logos.
The 2017 answer to your question is to train a logo classifier, and most likely a deep neural network.
With sufficient training data, if it is identifiable to the TV viewers it will be able to detect it. It will be able to handle local blurring and intensity changes (which may thwart "classic" image processing methods of brightness and edges).
OpenCV can load and run network models from multiple frameworks like Caffe, Torch and TensorFlow, so you can use one of their pre-trainined models or train one yourself.
You could also try the Tensorflow's object detection API here: https://github.com/tensorflow/models/tree/master/research/object_detection
The good thing about this API is that it contains State-of-the-art models in Object Detection & Classification. These models that tensorflow provide are free to train and some of them promise quite astonishing results. I have already trained a model for the company I am working on, that does quite amazing job in LOGO detection from Images & Video Streams. You can check more about my work here: https://github.com/kochlisGit/LogoLens
The problem with the TV is that the LOGOs will probably be not-static and move along the frames. This will result in a motion blur effect, which will probably make your classifier to get confused or not see the LOGOs. However, once you find a logo You can use an object tracking algorithm to keep track of the logo (e.g. deepsort)
I am working on a project where I need to process around 10,000 3D Images. So can you suggest me how can I do this using HADOOP MapReduce so that I can achieve parallelism and get the result as quick as possible.
Thank you!
while working with images you can use HIPI(Hadoop Image Processing Interface).
Also some tools and example programs from HIPI.
You can get started with this.
And yes it is entirely up to you how you want to process your images.
I believe stereoscopy or 3D imaging stereoscopic imaging is a technique used to record and display 3D (three dimensional) images or an illusion of depth in an image. Stereoscopic images provide spatial information that trick a user's brain into believing and seeing depth in the images.
So their must be sets of images you can process.
How can I make a basic connected graph (two or more nodes and a link connecting them for example) that use a force() layout? I just want to be able to drag a node and have the link adjust to stay connected as a node is being dragged. IĀ want also charge or positioning capabilities of force() and double-click handling. Essentially I want every node to be "sticky". Nodes will only move when being dragged.
But is there a simple way to do this? Like this sample that shows nodes and links -
http://djalmaweb.hyperphp.com/wordpress/time-graph-lines/image/
Is there a basic example somewhere?
Thanks
I am not entirely sure what you are asking for here, it would be great if you could post a fiddle or sample code. With the info you have, here is an example from Mike Bostock's samples that has a network chart with dragability and a forced layout.
https://bl.ocks.org/mbostock/4062045
Take a look and see if this will help you. Good luck.
I am thinking of using OpenCV library for image analysis. Basically I want to automate in my project the extraction of image label from wine bottle.
This is the sample input image:
This is the sample output:
I am thinking what should be my general strategy to extract the image. I am not asking for direct code. Just want to know the general approach to solve the problem.
Thanks!
Sorry for vage answer but in applied computer vision is no such thing like general approach.
some will disagree of course but in reality
all CV applications are custom made for some specific purpose/task
in your case is the idea to find cylindric and probably standing object (bottle)
and then finding of irregular parts in it
I would do it like this:
1.remove noise as much as possible (smooth/sharpen filters)
2.(optionaly) reduce image data (via (i)FT or (i)DCT for example)
3.segmentate objects (usually by homogenity of color or by edge detection or by booth)
4.identify bottle object (by color,shape,or illumination (glass is transparent))
5.identify objects inside bottle (homogenity,not transparent,usually sharp edges,color is not good some labels are black on dark glass)
6.(optional) project label back from cylindric space to flat texture
[notes]
create app with many scrollbars and checkboxes
to be able to change all tresholds and enable disable filters or their order on the run
all parts will take a lot of tweaking of tresholds and weights
you have to do a lot of trial and error runs to find the best filters and their config for your task
I'm not sure whether it is the right place to ask a PowerPoint question. So, if it isn't, don't be too harsh with me, please.
I have two rectangles created using the drawing tools on a ppt slide. These both rectangles are connected using an arrow with magnetic connectors.
Now I want to move first one of the rectangles using an animation and in a second step the other one.
That's easy so far.
But now I also want that the magentic connectors stay tied to the rectangles during the animation.
Is this possible somehow?
(I'm unfortunately not sure whether I always use the correct ppt terms above, since I only have a German installation of ppt.)
Thanks!
I don't think there is an easy solution as the connector won't move with an animation of the connecting shape.
However, if the required movement isn't to complex you could try to replicate the behavior with a set of animations:
Move rectangle using motion path
Grow connector shape horizontally or vertically
Move connector in the required direction using another motion path which must be adjusted to growth rate of the grow animation
All animations need to start simultaneously ("start with previous") and smooth start/end need to be set to 0 sec for the motion paths. A sample of the stretch effect (2.+3.) can be found here: http://pptheaven.mvps.org/experimental.html ("Zoom Test").