openframeworks / openFrameworks

openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
http://openframeworks.cc
Other
9.98k stars 2.55k forks source link

lutFilterExample not working properly #1419

Closed liquidzym closed 12 years ago

liquidzym commented 12 years ago

i just found out the lutFilterExample not fully working properly. the app its running,but there's no given image at all. all black canvas. btw, my webcam only support YUY color space any ideas? cheers @kylemcdonald

kylemcdonald commented 12 years ago

i just checked it, and it runs for me. so the next thing for you to check would be videoGrabberExample. if that works, but not lutFilterExample then something is broken with lutFilterExample. but i'm guessing that videoGrabberExample will be broken too, and there's something wrong with supporting your camera.

more info about the camera model, operating system, and compiler (if windows), and any output to the console, would be helpful!

liquidzym commented 12 years ago

no,the videoGrabberExample working fine. i'm using built-in usb webcam with my laptop. win7 64 bit&Geforce GT240m,and vs2010. it only support YUY2 format. there's no other warning message print from a console besides these : of:of_log_notice:skipped line: of:of_log_notice:skipped line:lut_3d_siz 32 of:of_log_notice:skipped line: of:of_log_notice:skipped line: title "test 1" of:of_log_notice:skipped line:

cheers

kylemcdonald commented 12 years ago

i get almost the same messages:

[notice] Skipped line: 
[notice] Skipped line: TITLE "test 1"
[notice] Skipped line: 
[notice] Skipped line: LUT_3D_SIZE 32
[notice] Skipped line: 

(looks slightly different because logging formatting is updated on github)

i don't think YUY2 is a problem, because all images are eventually converted to RGB by OF.

can you try changing the number 24 on this one line of code:

https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/video/ofDirectShowGrabber.cpp#L76

change it from 24 to 3.

this might be related to issue #1342

roymacdonald commented 12 years ago

I did that example. I'll go through it to see if there's any potential problem.

roymacdonald commented 12 years ago

@liquidzym are you using the master or develop branch?

roymacdonald commented 12 years ago

The only potential problem I see is here https://github.com/openframeworks/openFrameworks/blob/master/examples/graphics/lutFilterExample/src/testApp.cpp#L6

where the folder where the luts are stores is not found, maybe because ofToDataPath was not used, hence the boolean doLUT is set as false and no LUT is applied. This should draw the raw camera.

If doLUT is true, at least you should be able to see the raw camera being draw on a corner of the screen.

with the spacebar you can toogle doLUT.

Yet I'm intrigued by this console line: [notice] Skipped line: LUT_3D_SIZE 32

Where it's coming from?

I have to run now. I'll go deeper into this issue later.

liquidzym commented 12 years ago

@roymacdonald @kylemcdonald sorry still the same,and im still suspect that's my webcam causing this behavior,i did both testing with current 0071 released package&Dev branch.

but one of my mate he' got this example working(same os,vs2010..bla..),the only difference is that he's using logitech c920 webcam. i'll try with another machine later on,will let you know.thxs

roymacdonald commented 12 years ago

weird. As Kyle said, the webcam shouldn't be an issue as OF converts it into rgb. even stranger is that you can use the videograbber example. Can you try to comment out the following line https://github.com/openframeworks/openFrameworks/blob/master/examples/graphics/lutFilterExample/src/testApp.cpp#L35 and add the following line right after. like this. //applyLUT(vidGrabber.getPixelsRef()); lutImg.setFromPixels(vidGrabber.getPixelsRef());

If this doesn't work it would be really weird because that this example becomes just a videograbber example.

liquidzym commented 12 years ago

@roymacdonald ,ah,i have no idea,really weird. sorry, still the same,no image at all even the raw camera. i've been using cam&opencv quite a lot,never had such issue before.

roymacdonald commented 12 years ago

no idea. can you try using a different camera?

ofTheo commented 12 years ago

@liquidzym could you print out the image size your camera is running at?

cout << grabber.getWidth() << " " << grabber.getHeight() << endl;

it could be that its running at a different size than is being requested and thats causing the issue.

kylemcdonald commented 12 years ago

@ofTheo that would totally make sense, since i think the way textures are allocated for rescaling might be broken on windows.

liquidzym commented 12 years ago

sorry,i tried with a diferent camera,damn weird,still not working. @ofTheo, the output is 640 x480,same size as requested. btw,that's list resolutions supported by my webcam 640x480 352x288 320x240 176x144 160x120 1280x1024

roymacdonald commented 12 years ago

What happened with this issue?

liquidzym commented 12 years ago

sorry, i just changed my laptop which is brand new,and no trouble at all running this example. i can only guess something wrong with my old labtop.

bilderbuchi commented 12 years ago

OK, thank you for reporting back. I'm closing this.