Resource Base
Table of contents

Multiple-File Processing

API Name Description
SetInput Sets an image source to provide images for consecutive processing.
GetInput Gets the attached image source adapter object of the capture vision router.
AddCaptureStateListener Adds an object that listens to the state changes of the capture process.
RemoveCaptureStateListener Removes an object which listens to the state changes of the capture process.
AddImageSourceStateListener Adds an object that listens to state changes of the image source.
RemoveImageSourceStateListener Removes an object which listens to state changes of the image source.
AddResultReceiver Adds an object as the receiver of captured results.
RemoveResultReceiver Removes an object which was added as a receiver of captured results.
AddResultFilter Adds an object as the filter of captured results.
RemoveResultFilter Removes an object which was added as a filter of captured results.
StartCapturing Starts to process images consecutively.
StopCapturing Stops the consecutive processing.
PauseCapturing Pauses the capture process. The current thread will be blocked until the capture process is resumed.
ResumeCapturing Resumes the capture process. The current thread will be unblocked after the capture process is resumed.

SetInput

Sets an image source to provide images for consecutive processing.

int SetInput(CImageSourceAdapter* pAdaptor);

Parameters

[in] pAdaptor Specifies an object which has implemented the Image Source Adapter Interface.

Return Value

Returns an error code. Zero indicates success.

Error Code Value Description
EC_CALL_REJECTED_WHEN_CAPTURING -10062 Function call is rejected when capturing in progress.

See Also

CImageSourceAdapter

CDirectoryFetcher

CFileFetcher

GetInput

Gets the attached image source adapter object of the capture vision router.

CImageSourceAdapter* GetInput();

Return Value

Returns the attached image source adapter object of the capture vision router.

See Also

CImageSourceAdapter

CDirectoryFetcher

CFileFetcher

AddCaptureStateListener

Adds an object that listens to the state changes of the capture process.

int AddCaptureStateListener(CCaptureStateListener* listener);

Parameters

[in] listener Specifies a listening object of the type CCaptureStateListener to be added.

Return Value

Returns an error code. Zero indicates success.

See Also

CCaptureStateListener

RemoveCaptureStateListener

Removes an object which listens to the state changes of the capture process.

int RemoveCaptureStateListener(CCaptureStateListener* listener);

Parameters

[in] listener Specifies a listening object of the type CCaptureStateListener to be removed.

Return Value

Returns an error code. Zero indicates success.

See Also

CCaptureStateListener

AddImageSourceStateListener

Adds an object that listens to state changes of the image source.

int AddImageSourceStateListener(CImageSourceStateListener* listener);

Parameters

[in] listener Specifies a listening object of the type CImageSourceStateListener to be added.

Return Value

Returns an error code. Zero indicates success.

See Also

CImageSourceStateListener

RemoveImageSourceStateListener

Removes an object which listens to state changes of the image source.

int RemoveImageSourceStateListener(CImageSourceStateListener* listener);

Parameters

[in] listener Specifies a listening object of the type CImageSourceStateListener to be removed.

Return Value

Returns an error code. Zero indicates success.

See Also

CImageSourceStateListener

AddResultReceiver

Adds an object as the receiver of captured results.

int AddResultReceiver(CCapturedResultReceiver* receiver);

Parameters

[in] receiver Specifies a receiver object of the type CCapturedResultReceiver to be added.

Return Value

Returns an error code. Zero indicates success.

See Also

CCapturedResultReceiver

RemoveResultReceiver

Removes an object which was added as a receiver of captured results.

int RemoveResultReceiver(CCapturedResultReceiver* receiver);

Parameters

[in] receiver Specifies a receiver object of the type CCapturedResultReceiver to be removed.

Return Value

Returns an error code. Zero indicates success.

See Also

CCapturedResultReceiver

AddResultFilter

Adds an object as the filter of captured results.

int AddResultFilter(CCapturedResultFilter* filter);

Parameters

[in] filter Specifies a filter object of the type CCapturedResultFilter to be added.

Return Value

Returns an error code. Zero indicates success.

See Also

CCapturedResultFilter

RemoveResultFilter

Removes an object which was added as a filter of captured results.

int RemoveResultFilter(CCapturedResultFilter* filter);

Parameters

[in] filter Specifies a filter object of the type CCapturedResultFilter to be removed.

Return Value

Returns an error code. Zero indicates success.

See Also

CCapturedResultFilter

StartCapturing

Starts to process images consecutively.

int StartCapturing(const char* templateName = "", bool waitForThreadExit = false, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0);

Parameters

[in] templateName Specifies a CaptureVisionTemplate to use for capturing.

[in] waitForThreadExit Indicates whether to wait for the capture process to complete before returning. The default value is false.

[out] errorMsgBuffer Stores any error messages generated during the capturing process. If no buffer is provided, the error messages will not be output.

[in] errorMsgBufferLen Specifies the length of the provided error message buffer. If no buffer is provided, this parameter is ignored.

Remarks

  • There are two types of CaptureVisionTemplate: the preset ones which come with the SDK and the custom ones that get initialized when the user calls InitSettings / InitSettingsFromFile.
  • Please be aware that the preset CaptureVisionTemplates will be overwritten should the user call InitSettings / InitSettingsFromFile and pass his own settings.
  • If parameter templateName is not specified, the preset one named ‘Default’ will be used. However, if the preset ones have been overwritten as described above, the first CaptureVisionTemplate from the user’s own settings will be used instead.

Return Value

The function returns an integer value representing the success or failure of the capturing process. A value of 0 indicates success, while a non-zero value indicates failure. If an error message buffer is provided, any error messages generated during the capturing process will be stored in the buffer.

Error Code Value Description
EC_TEMPLATE_NAME_INVALID -10036 The target template name is invalid.
EC_CALL_REJECTED_WHEN_CAPTURING -10062 Function call is rejected when capturing in progress.
EC_NO_IMAGE_SOURCE -10063 Can not start capturing before you set the input.

StopCapturing

Stops the multiple-file processing.

void StopCapturing(bool waitForRemainingTasks = true, bool waitForThreadExit = true);

Parameters

[in] waitForRemainingTasks Indicates whether to wait for the remaining tasks to complete before returning. The default value is true.
[in] waitForThreadExit Indicates whether to wait for the capture process to complete before returning. The default value is true.

PauseCapturing

Pauses the capture process. The current thread will be blocked until the capture process is resumed.

void PauseCapturing();

ResumeCapturing

Resumes the capture process. The current thread will be unblocked after the capture process is resumed.

void ResumeCapturing();

Code Snippet

class MyCaptureStateListener: public CCaptureStateListener
{
public:
    void OnCaptureStateChanged(CaptureState state) {
        // user code...
    }
};
class MyImageSourceStateListener : public CImageSourceStateListener
{
private:
	CCaptureVisionRouter* m_router;

public:
	MyImageSourceStateListener(CCaptureVisionRouter* router) {
		m_router = router;
	}

	virtual void OnImageSourceStateReceived(ImageSourceState state)
	{
		if (state == ISS_EXHAUSTED)
			m_router->StopCapturing();
	}
};
class MyResultReceiver: public CCapturedResultReceiver
{
public:
    void OnCapturedResultReceived(const CCapturedResult* result) {
        // user code...
    }
};

int errorCode = 0;
char szErrorMsg[512];
errorCode = CLicenseManager::InitLicense("YOUR-LICENSE-KEY", szErrorMsg, 512);
if (errorCode != ErrorCode::EC_OK && errorCode != ErrorCode::EC_LICENSE_CACHE_USED)
{
    cout << "License initialization failed: ErrorCode: " << errorCode << ", ErrorString: " << szErrorMsg << endl;
}
else
{
    CCaptureVisionRouter* router = new CCaptureVisionRouter();
    CDirectoryFetcher* fetcher = new CDirectoryFetcher();
    router->SetInput(fetcher);
    CCaptureStateListener* captureStateListener = new MyCaptureStateListener();
    router->AddCaptureStateListener(captureStateListener);
    CImageSourceStateListener* sourceStateListener = new MyImageSourceStateListener();
    router->AddImageSourceStateListener(sourceStateListener);
    CCapturedResultReceiver* receiver = new MyResultReceiver();
    router->AddResultReceiver(receiver);
    CCapturedResultFilter* filter = new CMultiFrameResultCrossFilter();
    router->AddResultFilter(filter);
    router->StartCapturing("myTemplate", true, szErrorMsg, 512);
    // other codes...
    delete router, router = NULL;
    delete fetcher, fetcher = NULL;
    delete captureStateListener, captureStateListener = NULL;
    delete sourceStateListener, sourceStateListener = NULL;;
    delete receiver, receiver = NULL;;
    delete filter, filter = NULL;;
}

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article:

latest version

    Change +