|
Thank you!
You were always saying "there's an article here..." , "there's also another article here..."... but I don't see where they are, I need some link to those articles, could you please fulfil your help? I remember that I searched in here with all the key words possible but there were only some 'face recognition' projects using some library like Opencv.
Anyway thank you very much!
|
|
|
|
|
|
There is a near-infinite number of image features you could extract. Which features you choose to extract should depend on your goal(s).
E.g. if your goal is facial recognition, you'd extract features related to heads, eyes, etc... If your goal is part inspection, you'd extract features like lines with an edge-detection algorithm.
Your problem seems to stem from the lack of goals; you appear to be doing feature extraction as an end in itself.
There are a variety of edge-detection algorithms, some of which are easy to implement. One of the easiest is to shift the image one pixel then subtract it from the original image. Then set all pixels in the difference image below a threshold to zero.
This zeroes out solid regions, leaving you with just the edges. After edge detection, you can take the edges and use them to identify higher-level features, based on their positions.
If I were you, I wouldn't start learning a new technology one week before a deadline; that's asking for trouble. Just focus on what you can do with straightforward programming.
"Microsoft -- Adding unnecessary complexity to your work since 1987!"
|
|
|
|
|
I will assume color processing is what you want... i can advise that you start with color opponent process as occurs in the retinal ganglion cells see http://en.wikipedia.org/wiki/Opponent_process[^]
opponent process results in Red vs Green, Blue vs Yellow and Black vs White channels, if you are wondering why go through this process?
Well color sensor response overlaps (even the photo receptors in animals & humans) , and it is biologically proven to work.
but only Red vs Green and Blue vs Yellow are what is needed for color processing. you can obtain a two dimensional vector at any position (one sample per channel) normalize the vector to unity magnitude and store it with the associated color (in an indexing structure like the Kd tree see http://en.wikipedia.org/wiki/Kd_tree[^]) as a prototype. So get such descriptors for all colors. then at run time repeat the whole process except that you run the indexing structure and label each pixel with a given color based on it's closest prototype in the indexing structure. Then you can do some statistics such as create a histogram to count the frequency of occurrence of each color and normalize the histogram, and that will be a descriptor vector for an image hence the resulting color descriptor can be used to retrieve images or compute their similarity score.
or and 1 week, where have you been?
And as for feature extraction, there are low,intermediate and high level features, most of computer vision uses either low or intermediate level features there are so many algorithms for that such as SIFT (Scale Invariant Feature Transform) see http://en.wikipedia.org/wiki/Scale-invariant_feature_transform[^] and http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf[^]
|
|
|
|
|
The problem is:
given a set of numbers:
xi > d and
xi+1 > xi and
xi+1 - xi > d, i=1..N and
"distance" d
find such the greatest number v which satisfies the condition for each xi-d/2 and xi+d/2 to be entirely included between kv and (k+1)v where k is integer > 0.
I found an empiric algorithm first to be evaluated manually in spreadsheet and then I coded it but I am not sure whether it is reliable without some theory.
modified 16-Mar-12 15:41pm.
|
|
|
|
|
The problem is not completely described, is it?
I guess "d" is greater than 0. Any further conditions for d?
The minimum value for xi-d/2 is Min(xi)-d/2. When d is greater than 2 times the smallest x value, that expression becomes negativ, and there is no v fulfilling the conditions.
|
|
|
|
|
Right. I should write: xi > d.
I know that it is not solvable in any case of d and set of xi. It would be interesting to find limitations when it is.
|
|
|
|
|
Are x, d, and v also integers?
|
|
|
|
|
That doesn't make much sense to me. As the set xi is an ordered set, all that matters are the values of the smallest and largest of the xi numbers.
So it boils down to:
given natural numbers d, min, and max, where
d < min
min + d < max
find values k and v such that
k*v < min - d/2
(k+1)*v > max + d/2
which can't be hard to solve, by picking any v that satisfies
v > max - min + d
then finding k through division.
So I'd guess you want something entirely different.
|
|
|
|
|
Let me show this on the example:
You're given
x1=22
x2=50
x3=100
and d=10
We can find v=15 which satisfies this:
we can divide the range <0,100(or at least)> into equal intervals of length 15 because our "10" fits in:
1*15 and 2*15 with the middle in 22 i.e. <17,27>
3*15 and 4*15 with the middle in 50 i.e. <45,55>
6*15 and 7*15 with the middle in 100 i.e. <95,105>
I hope it's clearer now and excuse me if the latter was not.
|
|
|
|
|
it now sounds like you are accepting (or even requiring) a different k value for each new x sample...
if so, I don't know an algorithm that does it right away, however it reminds me of hash function optimisation, maybe a little Google could help you.
|
|
|
|
|
That means d <= v <= x<small>1</small> - d/2 , v must not be a divider of any xi.
There is no solution when you set x2=49 or x3=99. Are there some more constraints on the series?
|
|
|
|
|
So you know the following:
1. d ≤ v ≤ x1 - d/2
2. ∀xn, d/2 ≤ xn % v ≤ v - d/2
My dumb algorithm in C# would be (untested):
int FindV(List<int> x, int d) {
int halfD = (d + 1) / 2;
d = 2 * halfD;
for (int v = x[0] - halfD; v >= d; --v) {
int upper = v - halfD;
bool solved = true;
foreach (int xn in x) {
int mod = xn % v;
if (mod < halfD || upper < mod) {
solved = false;
break;
}
}
if (solved) return v;
}
return -1;
}
Sounds like somebody's got a case of the Mondays
-Jeff
|
|
|
|
|
can any developer help me
|
|
|
|
|
Post an actual question, this is too vague... look to use something like RTP for audio/video network transfers, but other than that, ask more specific questions.
|
|
|
|
|
i need some audio watermarking algorithm codes such as spread spectrum, cepstrum , chirp , echo hiding.
who can help me?and how can i get this codes?
with the best regardes.
|
|
|
|
|
Try here:
Codez[^]
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
how can i get audio watermarking attacks codes?
|
|
|
|
|
Can anyone explain to me how exactly works the Super2xSal, SuperEagle or hq2x algorthm for scaling images? I need the exact pattern written in pseudo code. For example, the Scale 2X algorithm uses the following pattern:
A B C
D E F
G H I
E0 E1
E2 E3
if (B != H && D != F) {
E0 = D == B ? D : E;
E1 = B == F ? F : E;
E2 = D == H ? D : E;
E3 = H == F ? F : E;
} else {
E0 = E;
E1 = E;
E2 = E;
E3 = E;
}
Thanks for any useful answer.
|
|
|
|
|
Wiki has some discussion on these and other similar algorithms: Super2xSaI[^]
|
|
|
|
|
I'm studying how to convert between image file formats in low-level programming (without using converter libraries), to do this way, I have to know the file format structure but it seems not such easy, because of complex compression algorithms used in graphics files...
Another problem is how to convert from pixel to pixel such as if an image file with each pixel encoded by 24 bits is converted to another image file with each pixel encoded by 8 bits, that means we have to map 2^24 color palette to a 2^8 color palette, we surely have to choose 2^8 colors from 2^24 colors to put in the new color table and if so how we do that? Which colors we choose?
Could anyone here who have worked on the same projects please tell me step-by-step guide on how to convert between these image file formats? I don't need detailed code, I need a guide to do, if possible your codes will be very helpful to me but if not, that'll be fine. Plus If you have any documents on image file formats, could you please post some download link here to help me, I am very in need of such documents.
Thank you very much in advance and anyway!
|
|
|
|
|
To get the documentation use your favorite search engine with "<image type> file format specification". You should get links to the official specifications on the first result page(s).
|
|
|
|
|
"...we have to map 2^24 color palette to a 2^8 color palette, we surely have to choose 2^8 colors from 2^24 colors to put in the new color table and if so how we do that? Which colors we choose?"
One solution is error diffusion with the Floyd-Steinberg Algorithm (can't find a good reference to link to). The basic idea is when you replace a pixel with one from a smaller palette, you will have a small amount of error. This error is propagated to the right and down, which allows a close approximation of the original image with the new smaller palette.
This allows, for example, a decent representation of grayscale portraits with only black and white pixels, as you see in the Wall Street Journal.
"Microsoft -- Adding unnecessary complexity to your work since 1987!"
|
|
|
|
|
|
Hi,
In a C++ software projetc I'm working with they gets
number of bytes = ((number of bits)* 7) / 8
Why isn't
number of bytes = (number of bits) / 8
Thanks!
|
|
|
|