Comments (4)
I believe I may have found the issue. I am using a DisplayLink docking station that may be maxed out on data output. I have 2 4K monitors with the DMK camera into the USB3.0 port. I brought this camera to another setup and the horizontal lines were not present.
from ic-imaging-control-samples.
Question 1)
I suggest to set a valid frame rate, because the camera wont deliver 5000 fps at 720x100 resolution. You may use IC Capture to see, what is the maximum frame rate offered at this resolution. Then you may use somewhat slower frame rate and check the images.
The posted image does not look like the usual USB (2) Bandwidth issues, the pattern is far to regular. You may try with IC Capture too and compare the images.
Question 2)
RGB24 is the default pixel format in memory. Please call
ic.IC_SetFormat(hGrabber, tis.SinkFormats.Y800)
before starting the pipeline. Then you will have one byte per pixel gray scale in memory, as provided by the camera.
Stefan
from ic-imaging-control-samples.
@TIS-Stefan Thank you for the quick response. I set the video format based on your response to question 2, not sure if you were expecting this but, the horizontal lines are all gone now.
In the function call, ic.IC_SetVideoFormat(self.hGrabber, tis.T("Y800 ({width}x{height})".format(width=self.width, height=self.height))), it appears you set the Y800 here, if I remove this Y800 from the string, the width/height is not set, so it seems like it is needed. I am curious why its in the SetVideoFormat call but doesn't seem to set the color format.
Also in the same vein, is there a better way to change the width/height on the fly other than stopping the live feed, setting the video format, and turning it back on?
from ic-imaging-control-samples.
if I remove this Y800 from the string, the width/height is not set, so it seems like it is needed. I am curious why its in the SetVideoFormat call but doesn't seem to set the color format.
Yes, "Y800" is needed, otherwise we do not know, which pixel format to set in the camera.
The default format in the sink, which means the memory in the computer, is RGB24. That means, the incoming Y800 of the camera is converted to RGB24 internally. But the pixel format in memory can be changed to Y800 by
ic.IC_SetFormat(hGrabber, tis.SinkFormats.Y800)
before starting the live stream. Y800 means one byte per pixel gray scale.
Also in the same vein, is there a better way to change the width/height on the fly other than stopping the live feed, setting the video format, and turning it back on?
No, because the memory allocations in the DirectShow filter graph must be done and this is possible only by stopping and starting it. Same is valid for the camera. It must be stopped too, in order to change the video format and frame rate.
from ic-imaging-control-samples.
Related Issues (20)
- Capturing to User-allocated Memory Buffers Example HOT 11
- Try to reach the framerate limit of camera HOT 9
- Implementing hardware trigger code using "bursts" HOT 12
- Implement IEEE 1588 PTP HOT 14
- DFK37BUX287:WDR function through tisgrabber.py HOT 9
- Confusion about version of tisgrabber.dll HOT 3
- Framesnapsink/Framequesink HOT 3
- Noise Reduction HOT 18
- Taking images after external trigger for a fixed time HOT 13
- How to operate multiple cameras at the same time get image through python HOT 2
- Knowing when callback fails HOT 8
- Detailed trigger mode setting HOT 2
- Capture AVI program is not working HOT 12
- Activate/deactivate external trigger using python script HOT 4
- Exception: A set operation on a VCDProperty object failed HOT 10
- IC_StartLive fail HOT 2
- Cannot get Map Strings for Strobe Mode in python HOT 18
- Get crashed on create MediaStreamSink object in C# in .net core 7 HOT 2
- Web browser stream HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ic-imaging-control-samples.