-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Where or how can I run ./imgscoutclient -h #1
Comments
I must admit that I probably am missing the required background knowledge but I have the impression the documentation makes assumptions on my knowledge that are not described... To be fair I am maybe guilty of having myself some assumptions about the documentation... Where or How can I get help... I am able to run the code in the container and I understand most of the commands but not enough to use the module in development or in discovery mode [Testing the functionalities]... |
I am also unable to build it outside of the container because those error messages:
|
Hi, The imgscoutclient program depends on the phash library phash to create image fingerprints of the images. I'm sorry, I guess I forgot to list that in the README.md. When you run the redis server, it's easiest to just run it in a docker container. Then build the client program with cmake. Hope this helps. Let me know if there's any other issues. Correction: cmake will automatically download the phash from github. You just need the following: Boost v1.67 Be sure those are the dev packages, as they will contain the header files necessary for compilation. |
That part is well explained in the README I am using the docker container and it is working but I do not know how to use it I am reading about MVP and I still do not know how to use the « database » (or dataset)... I will not try to use the «Client Demo Program» as I do not know what is missing to make it compile outside of the Docker... I have:
|
Also, I am unable to understand how to use |
The key is just the redis key to the native data strucdture that stores the hashvalues for the images. Just pick one, like "images". It will be the same for all commands, assuming you don't want to have separate index structures. But, for now, all your images will be under that one key. To use without imgscout client program, you need to calculate the image hash separately. It uses the dct image hash, which is a 64-bit hash integer value (uint64_t). Just add it to redis like this: imgscout.add images hashvalue title-string (Replace hashvalue with the your dct hash and with a name for the image, like file path. The [id] on the end is optional. If left off, it will automatically generate an id value. ) Same for query: imgscout.query images target-hashvalue radius (Replace target-hashvalue with the dct hashvalue for you target image and radius with your tolerance, like 10) However, it's really rather cumbersome to insert images by hand like that, since you won't be able to fully test it. (I just explained it to give you a better sense of how it works.) The imgscout client program can iterate through all the image files in a directory and submit each one for you. Just run imgscout -h to find out about the options to pass in. You can also submit queries using the images in a directory as target images. It looks like you have all the dependencies, so it should compile. I noticed you are storing everything in your HOME directory in |
Ha ok the id optimal as is it not "required to be provided" but is not optional in the sense that no id will then exist... That was one of the confusing things in my attempt to figure out the puzzle... Ok I am already generating my hashes and I have learned yesterday about that « Cosine thing » which apparently is something that everyone should be aware of but haha I wish I could go back to university... So I have a key which is for all the images of that MVP universe and I am generating a string of 64 zeros or ones and I have a tag 🏷 to know what it relates to then the optional id is provided by an unspecified magic 🪄 so that is probably half of the process which was already working I am just learning now. Any radius I have chosen gives me a similar output so I will need to make sure I understand all what you explained me (which quite honestly is already exactly what I was doing so I am unsure what exactly I need to understand)... I am already iterating my folder and I am using JavaScript (for the better or the worse)... using await in a for loop was such a drag and instead I am now awaiting at the end it gives me a little more parallelism (in a general manner of speaking) and gave me the same indexing from 2 minutes down to 26 seconds... for 2800 files (I assume I can't outperform pure C but it's for the moment what it is)... I am doing it to learn not to perform and I will probably need to find some rust implementation as I am unable to write C++ code so sadly... |
I am unable to set the output in English (cmake/make error messages) no matter what I am trying to do
is there a way you could figure out what the error messages are talking about or should I try harder to find a solution to get the output in English (googling the word language in that context is not of any help even if using locale) ??? |
Error: « BMBHash » not declared in this scope |
I see you're trying to do a lot here. Let me take it one at a time here:
-Not really sure what you are doing with javascript. Are you able to call the phash library from javascript? That's a good sign, because at least we know the phash library is built and you are able to call it. When you send the hashes to the redis server, does it return an id number for each image?
-It doesn't use the BMBHash, but this indicates the phash library is not getting compiled. (I assume you were able to compile phash library separately, since you were able to call it from javascript.) What system are you using? I'm on Debian/Linux. There's clearly a lot going on here. What messaging services are you on? You can find me on telegram @starkdg or on keybase (user: starkdg). We can probably communicate better over there. |
after doing: sudo dnf install 'boost-*'
sudo dnf reinstall '*boost*' and after doing a The new error message is now:
Indefinite reference to: In: Indefinite reference to: |
I do not know how to do that... Maybe some steps are missing or should be implied (by me but I don't know)...
The text was updated successfully, but these errors were encountered: