このエラーは、roi_pixels(img)で配列のインデックスに画像を入力しているのが原因ではないかと推測されます。
以下は画像を読み込み、ROIの画素値をExcelに書き込む例です。
(コードの作成に生成AIを利用しています。)
% Load the image
I = imread('cameraman.tif');
% Display the original image
imshow(I);
% Define the ROI (e.g., x=80, y=45, width=80, height=100)
roi_x = 80;
roi_y = 45;
roi_width = 80;
roi_height = 100;
% Extract pixel data within the ROI
roi_pixels = I(roi_y:(roi_y + roi_height - 1), roi_x:(roi_x + roi_width - 1));
% Display the ROI
imshow(roi_pixels);
% Write the pixel data of the ROI to an Excel file
writematrix(roi_pixels,'roi_pixels.xlsx', 'Sheet',1);