mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-27 09:50:34 +05:00
first try for fix (doesn't compile)
This commit is contained in:
parent
38f47f419d
commit
9e1826c51b
@ -396,7 +396,7 @@ void EntityGUI_FeatureDetectorDlg::Init()
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
void EntityGUI_FeatureDetectorDlg::SelectionIntoArgument()
|
void EntityGUI_FeatureDetectorDlg::SelectionIntoArgument()
|
||||||
{
|
{
|
||||||
|
MESSAGE("EntityGUI_FeatureDetectorDlg::SelectionIntoArgument()")
|
||||||
// TODO supprimer les lignes qui ne servent à rien le cas échéant
|
// TODO supprimer les lignes qui ne servent à rien le cas échéant
|
||||||
SUIT_ViewWindow* theViewWindow = getDesktop()->activeWindow();
|
SUIT_ViewWindow* theViewWindow = getDesktop()->activeWindow();
|
||||||
std::map< std::string , std::vector<Handle(AIS_InteractiveObject)> >::iterator AISit;
|
std::map< std::string , std::vector<Handle(AIS_InteractiveObject)> >::iterator AISit;
|
||||||
@ -428,6 +428,7 @@ void EntityGUI_FeatureDetectorDlg::SelectionIntoArgument()
|
|||||||
GEOM::GeomObjPtr aSelectedObject = getSelected( aNeedType );
|
GEOM::GeomObjPtr aSelectedObject = getSelected( aNeedType );
|
||||||
TopoDS_Shape aShape;
|
TopoDS_Shape aShape;
|
||||||
if ( aSelectedObject && GEOMBase::GetShape( aSelectedObject.get(), aShape ) && !aShape.IsNull() ) {
|
if ( aSelectedObject && GEOMBase::GetShape( aSelectedObject.get(), aShape ) && !aShape.IsNull() ) {
|
||||||
|
MESSAGE("EntityGUI_FeatureDetectorDlg::SelectionIntoArgument() # REPERE 1")
|
||||||
QString aName = GEOMBase::GetName( aSelectedObject.get() );
|
QString aName = GEOMBase::GetName( aSelectedObject.get() );
|
||||||
myEditCurrentArgument->setText( aName );
|
myEditCurrentArgument->setText( aName );
|
||||||
|
|
||||||
@ -445,12 +446,17 @@ void EntityGUI_FeatureDetectorDlg::SelectionIntoArgument()
|
|||||||
else
|
else
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
std::string theImgFileName = myAISShape->TextureFile();
|
MESSAGE("EntityGUI_FeatureDetectorDlg::SelectionIntoArgument() # REPERE 2")
|
||||||
if ( theImgFileName == "" )
|
//std::string theImgFileName = myAISShape->TextureFile();
|
||||||
return ;
|
Image_PixMap anImage = myAISShape->Image_PixMap();
|
||||||
|
// MESSAGE("theImgFileName = "<<theImgFileName)
|
||||||
|
// if ( theImgFileName == "" )
|
||||||
|
// return ;
|
||||||
|
|
||||||
// Setting the image caracteristics
|
// Setting the image caracteristics
|
||||||
myDetector->SetPath( theImgFileName );
|
// MESSAGE("theImgFileName = "<<theImgFileName)
|
||||||
|
// myDetector->SetPath( theImgFileName );
|
||||||
|
myDetector->SetImage( anImage );
|
||||||
height = myDetector->GetImgHeight();
|
height = myDetector->GetImgHeight();
|
||||||
width = myDetector->GetImgWidth();
|
width = myDetector->GetImgWidth();
|
||||||
pictureLeft = -0.5 * width; // X coordinate of the top left corner of the background image in the view
|
pictureLeft = -0.5 * width; // X coordinate of the top left corner of the background image in the view
|
||||||
@ -677,8 +683,13 @@ void EntityGUI_FeatureDetectorDlg::setEndPnt(const gp_Pnt& theEndPnt)
|
|||||||
{
|
{
|
||||||
myEndPnt = theEndPnt;
|
myEndPnt = theEndPnt;
|
||||||
MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")")
|
MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")")
|
||||||
|
bool test_1 = myDetector->GetImgHeight() > 0;
|
||||||
|
MESSAGE("REPERE 0 : setSelectionRect() = "<<setSelectionRect()<<"myDetector->GetImgHeight()"<<myDetector->GetImgHeight())
|
||||||
if (setSelectionRect() && myDetector->GetImgHeight() > 0)
|
if (setSelectionRect() && myDetector->GetImgHeight() > 0)
|
||||||
|
{
|
||||||
|
MESSAGE("REPERE 1")
|
||||||
showImageSample();
|
showImageSample();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -710,6 +721,7 @@ void EntityGUI_FeatureDetectorDlg::showImageSample()
|
|||||||
// Cropp the image to the selection rectangle given by the user
|
// Cropp the image to the selection rectangle given by the user
|
||||||
myDetector->SetROI( myRect );
|
myDetector->SetROI( myRect );
|
||||||
std::string samplePicturePath = myDetector->CroppImage();
|
std::string samplePicturePath = myDetector->CroppImage();
|
||||||
|
MESSAGE("samplePicturePath = "<<samplePicturePath)
|
||||||
|
|
||||||
// Display the result
|
// Display the result
|
||||||
QPixmap pixmap(QString(samplePicturePath.c_str()));
|
QPixmap pixmap(QString(samplePicturePath.c_str()));
|
||||||
|
@ -64,6 +64,17 @@ void ShapeRec_FeatureDetector::SetPath( const std::string& thePath )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Sets the the image to be processed
|
||||||
|
\param theImage - QPixMap input image
|
||||||
|
*/
|
||||||
|
void ShapeRec_FeatureDetector::SetImage( const QPixmap& input_img )
|
||||||
|
{
|
||||||
|
cv::Mat image = QPixmapToCvMat( input_img, false );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Computes the corners of the image located at imagePath
|
Computes the corners of the image located at imagePath
|
||||||
*/
|
*/
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
#include <QRect>
|
#include <QRect>
|
||||||
|
#include <QPixmap>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#if defined GEOM_SHAPEREC_EXPORTS || defined GEOMShapeRec_EXPORTS
|
#if defined GEOM_SHAPEREC_EXPORTS || defined GEOMShapeRec_EXPORTS
|
||||||
@ -42,6 +43,57 @@
|
|||||||
#define GEOM_SHAPEREC_EXPORT
|
#define GEOM_SHAPEREC_EXPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// If inImage exists for the lifetime of the resulting cv::Mat, pass false to inCloneImageData to share inImage's
|
||||||
|
// data with the cv::Mat directly
|
||||||
|
// NOTE: Format_RGB888 is an exception since we need to use a local QImage and thus must clone the data regardless
|
||||||
|
inline cv::Mat QImageToCvMat( const QImage &inImage, bool inCloneImageData = true )
|
||||||
|
{
|
||||||
|
switch ( inImage.format() )
|
||||||
|
{
|
||||||
|
// 8-bit, 4 channel
|
||||||
|
case QImage::Format_RGB32:
|
||||||
|
{
|
||||||
|
cv::Mat mat( inImage.height(), inImage.width(), CV_8UC4, const_cast<uchar*>(inImage.bits()), inImage.bytesPerLine() );
|
||||||
|
|
||||||
|
return (inCloneImageData ? mat.clone() : mat);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 8-bit, 3 channel
|
||||||
|
case QImage::Format_RGB888:
|
||||||
|
{
|
||||||
|
if ( !inCloneImageData )
|
||||||
|
qWarning() << "ASM::QImageToCvMat() - Conversion requires cloning since we use a temporary QImage";
|
||||||
|
|
||||||
|
QImage swapped = inImage.rgbSwapped();
|
||||||
|
|
||||||
|
return cv::Mat( swapped.height(), swapped.width(), CV_8UC3, const_cast<uchar*>(swapped.bits()), swapped.bytesPerLine() ).clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 8-bit, 1 channel
|
||||||
|
case QImage::Format_Indexed8:
|
||||||
|
{
|
||||||
|
cv::Mat mat( inImage.height(), inImage.width(), CV_8UC1, const_cast<uchar*>(inImage.bits()), inImage.bytesPerLine() );
|
||||||
|
|
||||||
|
return (inCloneImageData ? mat.clone() : mat);
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
qWarning() << "ASM::QImageToCvMat() - QImage format not handled in switch:" << inImage.format();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return cv::Mat();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If inPixmap exists for the lifetime of the resulting cv::Mat, pass false to inCloneImageData to share inPixmap's data
|
||||||
|
// with the cv::Mat directly
|
||||||
|
// NOTE: Format_RGB888 is an exception since we need to use a local QImage and thus must clone the data regardless
|
||||||
|
inline cv::Mat QPixmapToCvMat( const QPixmap &inPixmap, bool inCloneImageData = true )
|
||||||
|
{
|
||||||
|
return QImageToCvMat( inPixmap.toImage(), inCloneImageData );
|
||||||
|
}
|
||||||
|
|
||||||
class GEOM_SHAPEREC_EXPORT ShapeRec_Parameters
|
class GEOM_SHAPEREC_EXPORT ShapeRec_Parameters
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user