JPG画像を切り抜く次のスクリプトを使用して、下のウェーハマップ画像の外側から明るい灰色の境界線を切り抜こうとしています。 前後の画像に違いがないので、切り抜きメッセージがどのように機能するのか理解していないと思います。
私が間違っていることについて何か考えはありますか?
乾杯、トロイ
img = open("D:\wafer.jpg", jpg);
win1 = newWindow("Original", img);
img << crop(left(5),right(5),top(5),bottom(5));
win2 = newWindow("Cropped", img);
img << savePicture("D:\waferCropped.jpg", jpg);

スクリプティングRe:JPG画像を切り抜くやあ、
トリミングされた画像を変数に割り当てるのを忘れたと思います。
img2 = img << crop(left(5),right(5),top(5),bottom(5));
win2 = newWindow("Cropped", img2);
一番、
NS
Re:JPG画像を切り抜くティエリーの返事をありがとう。
私もそれを正確に試しましたが、運がありませんでした。
Re:JPG画像を切り抜くさて、クロップ機能がどのように機能するのか理解できなかったようです。 基本的に、トリミングする画像の高さと幅を把握し、LHSとTOPエッジを基準にして、トリミング時にこれらの値を操作する必要があります。
左=左側から削除するピクセル数
Right = '保持する残りの画像の幅'(ピクセル単位)
上=画像の上部から削除するピクセル数
Bottom =保持する残りの画像の「高さ」(ピクセル単位)
img = open("D:\WaferMaps\8PTPCVEB\wafer.jpg", jpg);
imgX = (img << GetSize)[1];
imgY = (img << GetSize)[2];
win1 = newWindow("Original", img);
myTrimBy = 5;
img << crop(left(myTrimBy),right(imgX - myTrimBy), top(myTrimBy), bottom(imgY - myTrimBy));
win2 = newWindow("Cropped", img);
img << savePicture("D:\WaferMaps\8PTPCVEB\waferCropped.jpg", jpg);
Re:JPG画像を切り抜く良くやった。 指定した右と下の定義は、指定したとおりではありません。 あなたのスクリプトはぴったりです!
以下のスクリプトを参照してください。
Names Default To Here( 1 );
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
s = {w,h} = img << get size();
show( s ); //{451, 451}
obj = New Window( "tile(40,40)", img );
Wait( 1 );
img << Crop( Left( 50 ), Right( 100 ), Top( 60 ), Bottom( 150 ) );
s = {w,h} = img << get size();
show( s ); //{50, 90}
//img is a matrix of pixels the initail size is 1 to 451 columns aka "w" width
//and "h" is height 1 to 451 rows
//Crop Left(x) is the starting column and Right(y) is the ending column
//Top() and Bottom() works the same, so after the crop the width is 100-50=50
//and the height is 150-60=90Re:JPG画像を切り抜く親愛な@Thierry_S 、
私は同じように考えていたでしょう、ドキュメントが言うように、この振る舞いは奇妙です:「新しいイメージを作成します...」。
しかし実際には、トリミングによって現在の画像が変更されているため、私の目にはドキュメントが正しくなく、誤解を招く可能性があります。
@tonya_mauldin 、これに応じてドキュメントを変更する必要があると思いますか?
Names Default To Here( 1 );
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
Print( "Size before crop:", img << get size );
img << Crop(
Left( 50 ),
Right( 400 ),
Top( 50 ),
Bottom( 400 )
);
Print( "Size before crop:", img << get size );
print("So crop changes the image and does not create a new one as written in the documentation");画像(jmp.com)
Re:JPG画像を切り抜くはい、それは非自明なインターフェースであり、より良いドキュメントを望んでいます。 @QianaEaglin
pixels = [
-11 -11 -11 -11 -11 -11 -11 -11 -11,
-11 -11 -91 -99 -99 -99 -99 -92 -11,
-11 -11 -99 -99 -99 -99 -99 -99 -11,
-11 -11 -99 -99 -99 -99 -99 -99 -11,
-11 -11 -99 -99 -99 -99 -99 -99 -11,
-11 -11 -93 -99 -99 -99 -99 -94 -11];
img = New Image( pixels );
{hSize, ySize} = img << size;
Show( img << getsize, img << getpixels );
// crop the -11 out of the image
img << crop( Left( 2 ), Right( 8 ), top( 1 ), bottom( 6 ) );
Show( img << getsize, img << getpixels );
//// img << getsize = {6, 5};
//// img << getpixels =
//// [ -91 -99 -99 -99 -99 -92,
//// -99 -99 -99 -99 -99 -99,
//// -99 -99 -99 -99 -99 -99,
//// -99 -99 -99 -99 -99 -99,
//// -93 -99 -99 -99 -99 -94];
ゼロベースのピクセルインデックスは、ピクセル間のヘアライン上にあります。