<![CDATA[IC Imaging Control Blog]]> http://www.imagingcontrol.com/en_US/blog/ Sun, 08 Jun 2008 22:00:00 +0000 (The Imaging Source Europe GmbH) The Imaging Source Europe GmbH http://www.imagingcontrol.com/img/ic_logo_feed.gif IC Imaging Control Blog http://www.imagingcontrol.com/en_US/blog/ Zend_Feed en_US http://blogs.law.harvard.edu/tech/rss <![CDATA[IC Service Pack 3 for Visual Studio 2008 C++]]> http://www.imagingcontrol.com/en_US/blog/permalink/95179f2a43c0cc0416f0c14d465c47fa/ I am delighted to announce that we have just released IC Imaging Control 3.0.6 Class Library Service Pack 3 for Visual Studio™ 2008 C++.

The service pack contains following updates:

  • DLL, library and header files
  • Dynamic help and Keyword help integration in Visual Studio™ 2008
  • Class Library C++ Dialog application and Frame Filter wizards

Download and install the service pack today!

]]>
Sun, 08 Jun 2008 22:00:00 +0000 classlibrary help wizard application frame filter C++
<![CDATA[Exposure Absolute Values]]> http://www.imagingcontrol.com/en_US/blog/permalink/591fa334b259c5e5379626872ce9e0e8/

Very often, I am asked how to access the Absolute Values interface of the exposure time. Although this seems to be complicated at first glace, it is not:

The interface is accessed in the following three steps:

  1. Declare the necessary variables for the interfaces.
  2. Query the interfaces.
  3. Work with the queried interfaces.

Declare the variables for the interfaces

We need a variable for the interface to toggle automatic exposure and a variable for the exposure values interface.

VB:

Dim AbsoluteValues As ICImagingControl3.VCDAbsoluteValueProperty
Dim ExposureAuto As ICImagingControl3.VCDSwitchProperty
    

C#:

using TIS.Imaging;
ICImagingControl3.VCDAbsoluteValueProperty AbsoluteValues;
ICImagingControl3.VCDSwitchProperty ExposureAuto;
    

Query the interfaces

This step is quite simple. The only thing you have to do is gather the required information:

VB:

AbsoluteValues = IcImagingControl1.VCDPropertyItems.FindInterface( 
                                           VCDIDs.VCDID_Exposure + ":" + _
                                           VCDIDs.VCDElement_Value + ":" + _
                                           VCDIDs.VCDInterface_AbsoluteValue)

ExposureAuto = IcImagingControl1.VCDPropertyItems.FindInterface( 
                                           VCDIDs.VCDID_Exposure + ":" + _
                                           VCDIDs.VCDElement_Auto + ":" + _
                                           VCDIDs.VCDInterface_Switch)
    

C#:

AbsoluteValues = (ICImagingControl3.VCDAbsoluteValueProperty)icImagingControl1.VCDPropertyItems.FindInterface(
                                                     VCDIDs.VCDID_Exposure + ":" +
                                                     VCDIDs.VCDElement_Value + ":" +
                                                     VCDIDs.VCDInterface_AbsoluteValue);
                                                     
ExposureAuto = (ICImagingControl3.VCDSwitchProperty) icImagingControl1.VCDPropertyItems.FindInterface( 
                                                     VCDIDs.VCDID_Exposure + ":" +
                                                     VCDIDs.VCDElement_Auto + ":" +
                                                     VCDIDs.VCDInterface_Switch);
    

Work with the queried interfaces

Now we can check, whether the interfaces exist and query their values.

VB:

    'Disable automatic
If Not ExposureAuto Is  Nothing Then
	ExposureAuto.Switch = false
End If


If Not AbsoluteValues Is  Nothing Then
	Dim ExposureMin As Double
	Dim ExposureMax As Double
	Dim ExposureValue As Double

	' Query the currently set values:
	ExposureMax = AbsoluteValues.RangeMax
	ExposureMin = AbsoluteValues.RangeMin
	ExposureValue = AbsoluteValues.Value

	'Set a new exposure value
	AbsoluteValues.Value = 0.002
End if

C#:

// If ExposureAuto exposure exists ...
if (ExposureAuto != null)
{
	//... make sure, it is disabled.
	ExposureAuto.Switch = false;
}


// If the absolute values interface exists...
if (AbsoluteValues != null)
{
	double ExpMin, ExpMax, ExpCurrent;

	// ... query the currenty values:
	ExpMin = AbsoluteValues.RangeMin;
	ExpMax = AbsoluteValues.RangeMax;
	ExpCurrent = AbsoluteValues.Value;

	//.. set a new value
	AbsoluteValues.Value = 0.001;

}

Please keep in mind that not all cameras and video capture devices support the Absolute Values interface.

]]>
Sun, 30 Mar 2008 22:00:00 +0000 VCD Properties Exposure Absolute Values interface
<![CDATA[USB Camera Driver Updated]]> http://www.imagingcontrol.com/en_US/blog/permalink/01d78db6526da72ed93045ea8404a27a/ The new driver version 1.0.0.15 is now available at http://www.theimagingsource.com.

Following Windows® versions are supported:

  • XP SP2
  • XP 64bit
  • Vista® 32bit
  • Vista® 64bit

The Windows® standard USB video driver can be used for the DFK 21AU04 and DFK 21BU04 cameras. But this driver does not offer the full range of available camera properties.

The monochrome and the higher resolution cameras such as DFK 31AU03 or DMK 21BU04 need the TIS WDM driver. The Windows® standard USB video driver simply shows a "Code 10, device can not start" error for them in the Device Manager.

All WDM drivers for The Imaging Source video capture devices (converters, grabbers, DCam cameras and USB cameras) support Windows Vista® 32 and 64 bit.

]]>
Wed, 12 Dec 2007 23:00:00 +0000 USB camera driver download Code 10 Vista
<![CDATA[Visual Studio® 2008 is available]]> http://www.imagingcontrol.com/en_US/blog/permalink/b376c41e8b53e8c97d7ee1d489b853df/ The new Visual Studio® 2008 is now available. We have tested the compatibility of IC Imaging Control Classlibrary and .NET component with Visual Studio® 2008.

The current version of IC Imaging Control 3.0.5 Classlibrary is incompatible to Visual Studio® 2008.

IC Imaging Control .NET 3.0.5 component works fine in Visual Studio® 2008 in Windows XP®, but not in Visual Studio® 2008 in Windows Vista®. The IC .NET component 3.0.5 runs fine in Visual Studio® 2005 in Windows Vista®.

The next version of IC Imaging Control that is fully compatible to Visual Studio® 2008 in Windows XP® and Windows Vista® is already in the pipeline. We hope it will be finished soon.

]]>
Mon, 10 Dec 2007 23:00:00 +0000 C++ compatibility NET 2008 Vista
<![CDATA[How to Display the Property Pages of a Camera]]> http://www.imagingcontrol.com/en_US/blog/permalink/f92f345b3f6ca59281db78395449f21c/

Users of IC Imaging Control Professional often inquire how to show the property dialog box that ships with the driver of their video capture device. Typically, this dialog box allows access to certain special properties that are not accessible through IC Imaging Control. The IC Imaging Control Grabber object exports an IUnknown COM pointer that can be used to access the driver's dialog box.

The following C++ code shows the driver's dialog box.

smart_com<IUnknown> pksps = 0;
m_cGrabber.getDev().getInternalInterface( pksps );

if( pksps != NULL )
{
    HRESULT hr;
    smart_com<ISpecifyPropertyPages> pSpec;
    hr = pksps->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pSpec.get());
    if (hr == S_OK)
    {
        CAUUID cauuid;
        hr = pSpec->GetPages(&cauuid);
        if( SUCCEEDED( hr ) && cauuid.cElems > 0 && cauuid.pElems != 0 )
        {
            hr = OleCreatePropertyFrame( this->m_hWnd, 30, 30, 0, 1, &pksps.getImpl(), cauuid.cElems,
                (GUID *)cauuid.pElems, 0, 0, 0);

            CoTaskMemFree(cauuid.pElems);
        }
    }
}
]]>
Mon, 01 Oct 2007 22:00:00 +0000 C++ property page driver professional
<![CDATA[Service Pack 2 for IC Imaging Control released]]> http://www.imagingcontrol.com/en_US/blog/permalink/762ae9a511f9a13e50b5de1133dc6686/ Service Pack 2 for IC Imaging Control installs the IC application wizards for Visual Studio 2005. The wizards allow you to create new imaging applications within a few mouse clicks. The following languages are supported:

  • C++
  • C#
  • Visual Basic

Please download and install the service pack as soon as possible.

]]>
Tue, 18 Sep 2007 22:00:00 +0000 application wizard C++ C# Visual Basic development
<![CDATA[New Sample for Finding a Laser Point]]> http://www.imagingcontrol.com/en_US/blog/permalink/9ba3c92ed57798986f384590cd94e818/ We have just released a brief sample application that illustrates how to locate a laser point on a live video and return its coordinates.

]]>
Mon, 30 Jul 2007 22:00:00 +0000 point laser find C#
<![CDATA[Changing the Mouse Cursor]]> http://www.imagingcontrol.com/en_US/blog/permalink/4ba384cc9c990f93d344b935a208d5cc/ Changing the mouse cursor in IC Imaging Control is a task that has caused problems for several of our customers. Indeed, it is an issue that regularly comes to my attention in the support department.

In order to resolve some of the confusion that shrouds this relatively simple task, I have created a C# and VB.NET sample application. With the help of one DLL, changing the mouse cursor in IC Imaging Control was never easier!

This new sample application is documented in detail in the Source Code Library:

]]>
Wed, 04 Jul 2007 22:00:00 +0000 cursor C# Visual Basic mouse
<![CDATA[Iterating Through a Captured Image Sequence]]> http://www.imagingcontrol.com/en_US/blog/permalink/7971083dfb2c91189f7a21987fb838a9/ I have just published a new sample application that illustrates how the last two seconds leading up to an unknown event can be captured to an image sequence. After this event has occurred, the end-user can iterate manually or automatically through the captured images.

The following animated screenshot shows how to use a slider to iterate through the previously captured image sequence:

Image of the sample.

This new sample application is documented in detail in the Source Code Library:

]]>
Sun, 01 Jul 2007 22:00:00 +0000 image sequence capture event
<![CDATA[Service Pack 1 for IC Imaging Control 3.0 Released]]> http://www.imagingcontrol.com/en_US/blog/permalink/64754ad7b80399fce4661a875d8f6cb0/ We have recently released the first service pack for IC Imaging Control 3.0.4, which fixes the following minor issues:

  • If a frame filter chain is used with Visual Studio® C++ 6.0, an application crashes with a CRTIsValidHeapPointer() error, if more than one filter is used. The affected function is:
    DShowLib::tFrameFilterList CFilterChain;
    CFilterChain.push_back( DeBayerFilter.get() );
    CFilterChain.push_back( RoiFilter.get() ); // Here the crash occures.
    Only Visual Studio® C++ 6.0 is affected by this issue.
  • If in Windows Vista™, a DV device such as a DV camcorder is used, stopping the live video may lead to an application crash, while the same software runs fine in Windows XP™ and Windows 2000™.

Please download and install the service pack, if you are being affected by these issues.

]]>
Thu, 21 Jun 2007 22:00:00 +0000 C++ Filter service pack DV Camcorder Vista