PDA

View Full Version : windows 10 and DMK 23G274



alikad
December 4, 2016, 07:52:26
Hi
i search the forum but didn't saw similar question
i wrote a simple program that grabs the frames and show them.
this programs run successfully on every win 7 system but when i test it on win 10 it dosnt work.
it shows the pics scrambled.
for example one of the systems that i test it, was with this configuration:
windows 10 pro, version 1607, os build 14393.0, processor intel core i7 6700, x64 bit
its important to say that ic capture works fine for both DFK and DMK on this system and
also DFK 23G274 works good with my program but DMK 23G274 dosnt

Stefan Geissler
December 5, 2016, 09:27:48
Hello

Window 10 Anniversary Update, v 1607 made many things bad. I did not recognize, the GigE cameras are affected too, since they ran on my system. However, Microsoft repaired this. Please install all updates, until your Windows version is 14393.447. That is mine and has no problems.

alikad
December 7, 2016, 12:30:10
thanks a lot man
i will test it

alikad
December 10, 2016, 15:16:27
I update it, now it has these config:
version : 1607
OS Build : 14393.479
and the problem is still alive.
my DMK 23G274 cam has this firmware:
Rev 992, Hardware Rev 17
what should i do now?

Stefan Geissler
December 12, 2016, 09:25:47
Hello

I think, I was on the wrong track and mixed USB and Gige camera. Sorry for that.

However, "scrambled" means, parts of the image are moved to wrong position? If yes, then the image data transfer between network controller and computer's memory is interrupted.
You can try following:
On your GigE network controller enable Jumbo frames at least to 4kB. This reduces the number of packets.
In the network stack you may try to disable or enable the GigE Vision filter driver.
Check for "Security" Programs, that may are in the network stack (where the TCP/IP address setting is). If there is something like that, disable it.

alikad
December 13, 2016, 10:09:56
my mean of scramble was something like upside down an different position and left to right and etc.
i checked the jumbo frame and Gige vision filter driver but there is no difference in my pics.
its so incredible that only on win 10 and B&W cam i have this problem. i checked two different system with win 10
and both of them have the same problem.
but the same program on win 7 is good and also the color cam on win 10.

Stefan Geissler
December 13, 2016, 15:53:17
You may post an image.

However, I would point to what I wrote above. This usually is Windows version independent, it is more a problem of network controller and CPU. And whether there is something, that also occupies the network.

Lower frame rates should reduce the issue.

alikad
December 14, 2016, 09:05:38
1877

i checked it with both 13 fps and 20 fps
the code that i use is this:
void CListener::frameReady( Grabber& caller, smart_ptr<MemBuffer> pBuffer, DWORD currFrame )
{
IplImage* m_image;
BYTE *src_buf = pBuffer->getPtr();
m_image->imageData = (char*)src_buf;//, m_image->width*m_image->height );
}

and i show the m_image.

Stefan Geissler
December 14, 2016, 13:25:11
Hello

your code is incomplete. Your IplImage initialization code is missing.

Also the pixel format in pBuffer is unknown to me.

alikad
December 14, 2016, 15:40:58
hi
i forgot to send the other parts, but its complete. this program is working till 5 years ago.
the other parts are this:
IplImage* m_image = cvCreateImageHeader( cvSize(1600,1200), IPL_DEPTH_8U, 1 );
the camera setting is Y800 ( 1600*1200)

Stefan Geissler
December 14, 2016, 16:17:35
How does the live video from the camera look like?

alikad
December 19, 2016, 12:36:34
with ic capture its perfect

Stefan Geissler
December 20, 2016, 12:58:29
I use following code:


IplImage* m_pOpenCVImage;

m_pOpenCVImage = NULL;


void ProcessBuffer( smart_ptr<DShowLib::MemBuffer> pBuffer )
{
if( m_pOpenCVImage == NULL )
{
smart_ptr<BITMAPINFOHEADER> pInf = pBuffer->getBitmapInfoHeader();
// Calculate the size of the image.
imgSize.width = pInf->biWidth;
imgSize.height = pInf->biHeight;
m_pOpenCVImage = cvCreateImageHeader( imgSize, IPL_DEPTH_8U, pInf->biBitCount / 8 );
}

if( m_pOpenCVImage != NULL )
{
m_pOpenCVImage->imageData = (char*)pBuffer->getPtr();
}
}

With this I am always correct about image size and pixel format.

alikad
December 20, 2016, 16:25:39
thaaaaaaaaaaaaaaaaaaanks a lot ;-)
there is no problem with this code and it works so good
but still there is a question in my mind: why with my old code and win7 i have no problem (about 6 years it was working)
but with win10 i have a scrambled pic.
but away i must thank you so much

Stefan Geissler
December 20, 2016, 17:35:04
I must admit, I have no idea, why this is is different. Curiously I have exact the same support case in my emails....