我在MATLAB中遇到如下问题:
假设我有一个如下所示的矩阵.我想要做的是计算以黄色给出的像素的平均值.(ans是108)

如果给出的选项在外面,将计算这一点.
另一方面,如果选项是作为内部给出的,那么在图像中执行的操作.

**我想编写一个算法,根据手动设置的选项找出标有零的区域内外的平均值.**
****4邻里**或8邻居**可考虑.我想在MATLAB中计算它.你们能帮助我吗?
我有一组包含来自html页面的预处理文本的文档.它们已经送给我了.我只想从中提取单词.我不希望提取任何数字或常用词或任何单个字母.我面临的第一个问题是这个.
假设我有一个单元格数组:
{'!' '!!' '!!!!)' '!!!!thanks' '!!dogsbreath' '!)' '!--[endif]--' '!--[if'}
Run Code Online (Sandbox Code Playgroud)
我想让单元格数组只有单词 - 就像这样.
{'!!!!thanks' '!!dogsbreath' '!--[endif]--' '!--[if'}
Run Code Online (Sandbox Code Playgroud)
然后将其转换为此单元格数组
{'thanks' 'dogsbreath' 'endif' 'if'}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
更新要求:感谢您的所有答案.但是我遇到了问题!让我来说明一下(请注意,单元格值是从HTML文档中提取的文本,因此可能包含非ASCII值) -
{'!/bin/bash' '![endif]' '!take-a-long' '!–photo'}
Run Code Online (Sandbox Code Playgroud)
这给了我答案
{'bin' 'bash' 'endif' 'take' 'a' 'long' 'â' 'photo' }
Run Code Online (Sandbox Code Playgroud)
我的问题:
'!–photo'存在一个非ascii字符â,这实际上意味着a.可以合并一个步骤,以便这种转换是自动的吗?"it? __________ About the Author:"给了我"__________"一个字.为什么会这样?"2. areoplane 3. cactus 4. a_rinny_boo... 5. trumpet 6. window 7. curtain ... 173. gypsy_wagon..."返回一个单词'areoplane' 'cactus' 'a_rinny_boo' 'trumpet' 'window' …这是我的问题.
clc; clear all; close all;
N = 10;
R = randn(N,1)+10;R(end) = R(1);
tht = linspace(0,2*pi,N).';
x = R.*cos(tht);
y = R.*sin(tht);
plot(x, y,'o-b');
Run Code Online (Sandbox Code Playgroud)
随机排序数组
X = x(randperm(size(x,1)),:);
Y = y(randperm(size(y,1)),:);
hold on, plot(X,Y,'o-r');
Run Code Online (Sandbox Code Playgroud)
可以看出,绘制的轮廓具有重叠区域.所以我想绘制一个不重叠的闭合轮廓.我得到的一个想法是通过对矩阵的元素进行排序,使得矩阵元素之间的相邻距离最小.所以最近的点将彼此相邻.
任何人都可以指定我怎么做吗?我尝试使用pdist2但失败了.
大家好我正在使用matlab的蒙太奇命令来显示图像.但是我遇到了一个问题.我使用的命令如下:
dirOutput = dir('C:\Users\DELL\Desktop\book chapter\Journal chan vese\robust
contour initialization\book for document\4 phase\*.jpg');
fileNames = {dirOutput.name}'
montage(fileNames, 'Size', [1 6]);
export_fig combined1.jpg -r300
Run Code Online (Sandbox Code Playgroud)
我有6张图片(所有灰度).但是,命令提示符立即抛出这样的错误:
//Error using montage>getImagesFromFiles (line 349)
//FILENAMES must contain images that are the same size.
//Error in montage>parse_inputs (line 225)
// [I,cmap] = getImagesFromFiles(varargin{1});
//Error in montage (line 112)
//[I,cmap,mSize,indices,displayRange] = parse_inputs(varargin{:});
//Error in montage_pics (line 3)
//montage(fileNames, 'Size', [1 6]);
Run Code Online (Sandbox Code Playgroud)
我甚至在这里上传了一些图片:



可以清楚地看到,所有图像都是灰度级的.然后我读了图像大小,它们如下:
1.128X128 2.128X128*3 3.128X128*3 4.128X128 5.128X128*3 6.128X128*3. 因此,一些图像被视为确实是彩色图像.
我的问题是如何使用蒙太奇命令这样的图像.另一个问题是蒙太奇命令总是需要相似大小的图像.所以我想避免这个漏洞.
当然,我可以使用软件工具将图像转换为所需的格式,但这是一种糟糕的工作方式.我相信下面的代码如果添加到我的原始代码将解决这个问题
%Read Each Image …Run Code Online (Sandbox Code Playgroud) 我有很多图片都在一个名为1.jpg、2.jpg、3.jpg等的目录中,我一一阅读。我做一些操作然后我保存它们。
我想自动化这个操作。我可以读取图像名称。然后在生成输出文件时,我从输入文件名中提取 image_name,添加我需要的扩展名,添加我想要保存的文件类型,然后通过打印命令保存图像。
%//Read the image
imagefiles = dir('*.bmp');
nfiles = length(imagefiles); % Number of files found
for ii=1:nfiles
currentfilename = imagefiles(ii).name;
currentimage = imread(currentfilename);
images{ii} = currentimage;
Img=currentimage;
%//Do some operation on the image
%//Save the image file
h=figure;
%//Display the figure to be saved
token = strtok(currentfilename, '.');
str1 = strcat(token,'_op');
print(h,'-djpeg',str1);
end
Run Code Online (Sandbox Code Playgroud)
这个程序运行良好,但后来我发现了这个命令来绘制漂亮的图形。 export_fig
export_fig 采用以下形式的基本命令:
export_fig file_name.file_type
Run Code Online (Sandbox Code Playgroud)
如何自动替换存储为 str1 的输出文件名代替 export_fig 命令中的 file_name 占位符。
注意:请注意 export_fig 文档中的这一点(对于变量文件名)
for a = 1:5
plot(rand(5, 2));
export_fig(sprintf('plot%d.png', a));
end …Run Code Online (Sandbox Code Playgroud)