15

You can't. You have video of the scene from a single vantage point. Without depth information, you can't infer what the scene would look like from another vantage point.


14

There are two questions that you're asking here. The first is why there is a light source. That's the easy part. Think what happens in the real world: if there's no light source, everything is dark and you can't see anything. That's an uninteresting case in computer graphics, so we usually don't consider it. The second question is why rays are pointing to ...


13

I think the simplest way to think of Convolution is as a method of changing a pixel's value to a new value based on the weight of nearby pixels. It's easy to see why Box Blur: _____________ |1/9|1/9|1/9| |1/9|1/9|1/9| |1/9|1/9|1/9| ------------- works. Convolving this kernel is the same as going through every pixel of a photo and making the new value of ...


11

There are actually three related terms: Luminance is a physical measure which represents the luminous intensity per unit area of light travelling in some direction. The units are candela per square metre. This is, if you like, an objective measure of how "intense" light is. Relative luminance is a measure how "intense" light appears to a human; since humans ...


9

The terms you probably want to google for are "inferring depth maps". Just like your brain tricks you into seeing 3d if you close one of your eyes, you can heuristically recover depth maps from single 2d images. See for example Make3D: Depth Perception from a Single Still Image Inferring Depth from Single Images in Natural Scenes Perceiving 3D from 2D ...


6

One way to think about convolution/crosscorrelation is as if you were searching for some signal in your data. The more the data looks like the kernel, the higher the resulting value will be. I actually take the reverse of the kernel, i.e. as in cross-correlation, but it is basically the same thing. For example, let's say you are looking for a directional ...


6

Note that we want to be able to retrieve, for any query range, the points that are inside, or sometimes the points that are closest to that query range. That's why a bounding-volume hierarchy is useful. However, bounding-volume hierarchy is a very general notion. When designing a bounding-volume hierarchy data structure in practice, it is extremely ...


6

You're confusing the number of possible values that a pixel can display with the amount of data being shown at any given instance. The number you give is the number of possible pixel states that your display can be in, multiplied by the number of pixels, which isn't really a meaningful number. (EDIT: As Mehrdad and phihag point out, I'd incorrectly assumed ...


5

There are three kinds of JPEG artifacts. The first and (arguably) most important one is described in Yuval's answer: To a first order the problem is that under high compression all the high frequency information is discarded, and the lowest frequency information remaining is the average color of each 8x8 square. When you take the inverse but leave out the ...


5

Multiplication can inherently be computed faster than division because it parallelizes better. If you recall the multiplication and division methods of written calculation, they work by successive additions or subtractions, with shifts. Anyway, in a multiplication you can multiply the multiplicand by all digits of the multiplier simultaneously, and add the ...


5

Some reasons for using more bits per color channel: Tetrachromats. There are rare humans with four types of cone receptors in their retinas instead of the usual three. These people can distinguish an order of magnitude more color shades than the rest of us. Color gamut. Your question assumes that the 16 million colors available in 8-bit per channel RGB ...


4

The artefact that you see in JPEG comes from the fact that JPEG divides the image into $8\times 8$ blocks of pixels and compresses them separately. The $8\times 8$ blocks are visible very clearly in the JPEG appearing in your question. When the image is decompressed, often there is no effort to smooth the boundary regions, and this results in a "blocking" ...


4

The colors are not evenly interpreted by our eyes. When I want to make a picture gray scale, I usually go for the following calculation of the luminance of a pixel. luminance = (r * 0.3) + (g * 0.59) + (b * 0.11) Read more in the Stackoverflow question Formula to determine brightness of RGB color.


4

Normally in graphics, you interpolate values across a line like so: Point $A$ has value $V_A$ and point $B$ has value $V_B$, then you want to blend the value/color linearly between them as $C$ moves between $A$ and $B$. To do this, you first calculate the ratio (or percentage) of how far $C$ lies across the line $\overline {AB}$. This is equal to $\overline{...


4

I wouldn't say that ray-tracing/path-tracing is dead ... if anything, there's been quite a resurgence of popular interest in the field due to the inherent parallelism of the many associated algorithms in this area combined with the speed of GPU-based systems that are allowing for millions of rays to be calculated per-second. Added to that is the flexibility ...


4

The "skyline problem" is an example of finding the Pareto front of a set of points in 2-D space. More generally it's an example of multi-objective optimization which has many applications. You might find this thread relevant.


4

If you think convolution is a little too hard to understand, I recommend you start searching about Mathematical Morphology applied to image processing, the big idea behind Mathematical Morphology is that you'll do a operation very close to the convolution, to "change" the morphology of the image, but retain the topology information, this way, you can make a ...


4

The constraint satisfaction problem (CSP) is NP-complete. Identifying blobs is a question about graph connectivity which is in P. Therefore, yes, the question you're asking reduces to CSP but this doesn't tell you anything useful: it just says that CSP is at least as hard as this problem but it might be harder. (In fact, it is strictly harder if P$\neq$NP....


4

Summing the angles around a point is equivalent to calculating the winding number around that point. It will give you a correct answer in the general case. Going more in depth, I'll try to show that your proposed algorithm has many drawbacks. Algorithmic runtime Algorithmically, your proposed algorithm must iterate over all $N$ points. Because of that, we ...


4

You can use Xiaolin Wu algorithm, but the concept is not restricted to straight lines, it handles circles, ellipses, any kind of functions. Moreover this is concept of fast antialiasing, if you need some polyline you have to apply it for every segment. If you meant curves, these are locally flat segments, so this concept is still applicable. The thin line ...


4

A curve can be quantized (also known as rasterized) to a certain precision after which it is discrete, and the issue is gone. If you see a picture that contains a curve on a modern computer, there's a good chance it already has been rasterized (e.g. PNG or jpeg). However, it is possible to represent curves (and other primitives) directly. Then you're ...


3

Google's Deep Dream project is research being done to visualize neural networks' learning to understand more about them. First, you have to understand a Deep Belief Network on a high level. In short, it's a way for machines to 'learn' about data (images, in this case). That works, essentially, by transforming an input by several matrices (layers) through ...


3

For the "-facing" rule to hold, you must make sure that all faces are properly oriented. Use the right-hand rule for instance, that means that the vertices of a face should be numbered in such a way that a positive rotation in the plane of the face corresponds to a normal pointing outside of the polyhedron. (Got it ?) Or more simply, every face must come ...


3

Suggestion: for each point $P$ in the point cloud, find which bone it is nearest to, and associate it with that bone. In other words, find which point $Q$ on the skeleton is closest to $P$, and associate $P$ with $Q$. Now associate $Q$ with a particular part of the skeleton (e.g., arm, leg, etc.); that will let you associate $P$ with a particular part of ...


3

The 10 million you gave - something about that, but we do not know which one exactly because it differs per person. So there is the case that some range of blue is not fully seen by some person, but the orange range is, and another one with different color spectrum looks at the same e.g. screen and also has plausible view without discontinuities. Another ...


3

After conducting more research I did find a solution, but first I will examine solutions suggested by posters and considered by myself and review why they didn't work. This problem reduces to finding all chordless cycles in a planar graph. This was one of my first thoughts early on, but this doesn't work when you consider the following: 5-------f----...


3

You have a 2D convex polygon $G$, and a 3D polyhedron $H$. Let $P_G$ denote the plane that the polygon is contained in. The following should work: Their intersection is a 2D polygon. You can find the edges of the intersection as follows: For each triangle of $H$: If the triangle intersects $G$, output this intersection. This procedure outputs the ...


3

Aggregate your data, the setting is in 2D, the number of points is small for clustering, and it will solve the task. You can use k-means, where $k$ will denote number of labels shown on the screen. Putting labels in place of centroids will with high probability give you good place for labels. If this is not good enough you can refine the placement using ...


3

You have f(x). Let g(x) = f(x+1) - f(x). Let h(x) = g(x+1) - g(x). Let k(x) = h(x+1) - h(x). It turns out that k(x) is a constant. Calculate f(x), g(x), h(x) and k(x) for x = 1. Then you calculate f(x+1) = f(x) + g(x), g(x+1) = g(x) + h(x), h(x+1) = h(x) + k(x), and k(x) is a constant.


3

I agree that it is a bit superfluous to have the "[i]f a mesh covers more pixels in screen space than it has vertices". Basically, if it doesn't then no interpolation is needed since the color of a pixel can be determined by the vertices it contains. But this is just a degenerate case of interpolation and there isn't much reason to call it out. Your final ...


Only top voted, non community-wiki answers of a minimum length are eligible