Month: October 2024
Formula Assistance
Thank you Hans. I believe that works but I don’t understand something. I have 2 data ranges that are Labeled “TABLEDATES” & “FEMALETABLEDATES” on the BO Mondays Tab. When I select a date whether its from an individual being a “M” or “F” gender, the date gets filtered out from both Filtered lists. I have tried and tried to figure this out but I just don’t understand why this is happening. I’ve attached a workbook below so maybe you can figure this out if you would please. My intention as well is to have the cells in both cases filled with red in Columns B & F when that date is taken/already been selected. Conditionally formatted.
Thank you Hans
Carl
@HansVogelaar Thank you Hans. I believe that works but I don’t understand something. I have 2 data ranges that are Labeled “TABLEDATES” & “FEMALETABLEDATES” on the BO Mondays Tab. When I select a date whether its from an individual being a “M” or “F” gender, the date gets filtered out from both Filtered lists. I have tried and tried to figure this out but I just don’t understand why this is happening. I’ve attached a workbook below so maybe you can figure this out if you would please. My intention as well is to have the cells in both cases filled with red in Columns B & F when that date is taken/already been selected. Conditionally formatted. Thank you HansCarl Read More
How to run MATLAB executables on DOS ?
I would like to run an executable on DOS which generates a image file, but seems nothing comes out. The program is as follows :
A = rand(500);
imwrite(A, "Testing.png");
You may also refer to the attachment for reference !I would like to run an executable on DOS which generates a image file, but seems nothing comes out. The program is as follows :
A = rand(500);
imwrite(A, "Testing.png");
You may also refer to the attachment for reference ! I would like to run an executable on DOS which generates a image file, but seems nothing comes out. The program is as follows :
A = rand(500);
imwrite(A, "Testing.png");
You may also refer to the attachment for reference ! how to run matlab exeucutable on dos ? MATLAB Answers — New Questions
how to use property “ProminenceWindow” for command islocalmin
Can someone please explain how to use property "ProminenceWindow" for command islocalmin. I want to understand what difference this ProminenceWindow property can make.
My assumption is i can filter out peak/valley according to the width of the peak/valley(do not confuse width with ‘halfprom’ or ‘halfheight’ in WidthReference property of findpeak. I want to find full prominence width i.e X indices of start of peak and end of peak. using this width can be easily found by subtacting)
i can filter out peak/valley according to the height if i use MinPeakProminence property
Please check below example that i tried for understanding this property.
Example code:
% Generate sample data
x = linspace(0, 3*pi, 1000); % Extended range for gradual changes
y = sin(0.5*pi*x) + 0.01*randn(size(x)); % Half sine wave with very minimal noise
% Define different ProminenceWindow values
prominenceWindows = [5, 20, 50]; % Adjust these values to see the effect
% Create a figure with subplots
figure;
for k = 1:length(prominenceWindows)
% Detect local minima with the current ProminenceWindow
minIdx = islocalmin(y, ‘ProminenceWindow’, prominenceWindows(k));
% Count the number of local minima detected
numMinima = sum(minIdx);
% Create a subplot for the current ProminenceWindow
subplot(length(prominenceWindows), 1, k);
plot(x, y, ‘-b’, ‘DisplayName’, ‘Data’);
hold on;
plot(x(minIdx), y(minIdx), ‘ro’, ‘MarkerFaceColor’, ‘r’, ‘DisplayName’, ‘Local Minima’);
hold off;
legend show;
title([‘ProminenceWindow = ‘, num2str(prominenceWindows(k)), ‘, Count = ‘, num2str(numMinima)]);
xlabel(‘x’);
ylabel(‘y’);
end
% Adjust subplot layout for better visualization
sgtitle(‘Local Minima Detection with Different ProminenceWindow Values’);Can someone please explain how to use property "ProminenceWindow" for command islocalmin. I want to understand what difference this ProminenceWindow property can make.
My assumption is i can filter out peak/valley according to the width of the peak/valley(do not confuse width with ‘halfprom’ or ‘halfheight’ in WidthReference property of findpeak. I want to find full prominence width i.e X indices of start of peak and end of peak. using this width can be easily found by subtacting)
i can filter out peak/valley according to the height if i use MinPeakProminence property
Please check below example that i tried for understanding this property.
Example code:
% Generate sample data
x = linspace(0, 3*pi, 1000); % Extended range for gradual changes
y = sin(0.5*pi*x) + 0.01*randn(size(x)); % Half sine wave with very minimal noise
% Define different ProminenceWindow values
prominenceWindows = [5, 20, 50]; % Adjust these values to see the effect
% Create a figure with subplots
figure;
for k = 1:length(prominenceWindows)
% Detect local minima with the current ProminenceWindow
minIdx = islocalmin(y, ‘ProminenceWindow’, prominenceWindows(k));
% Count the number of local minima detected
numMinima = sum(minIdx);
% Create a subplot for the current ProminenceWindow
subplot(length(prominenceWindows), 1, k);
plot(x, y, ‘-b’, ‘DisplayName’, ‘Data’);
hold on;
plot(x(minIdx), y(minIdx), ‘ro’, ‘MarkerFaceColor’, ‘r’, ‘DisplayName’, ‘Local Minima’);
hold off;
legend show;
title([‘ProminenceWindow = ‘, num2str(prominenceWindows(k)), ‘, Count = ‘, num2str(numMinima)]);
xlabel(‘x’);
ylabel(‘y’);
end
% Adjust subplot layout for better visualization
sgtitle(‘Local Minima Detection with Different ProminenceWindow Values’); Can someone please explain how to use property "ProminenceWindow" for command islocalmin. I want to understand what difference this ProminenceWindow property can make.
My assumption is i can filter out peak/valley according to the width of the peak/valley(do not confuse width with ‘halfprom’ or ‘halfheight’ in WidthReference property of findpeak. I want to find full prominence width i.e X indices of start of peak and end of peak. using this width can be easily found by subtacting)
i can filter out peak/valley according to the height if i use MinPeakProminence property
Please check below example that i tried for understanding this property.
Example code:
% Generate sample data
x = linspace(0, 3*pi, 1000); % Extended range for gradual changes
y = sin(0.5*pi*x) + 0.01*randn(size(x)); % Half sine wave with very minimal noise
% Define different ProminenceWindow values
prominenceWindows = [5, 20, 50]; % Adjust these values to see the effect
% Create a figure with subplots
figure;
for k = 1:length(prominenceWindows)
% Detect local minima with the current ProminenceWindow
minIdx = islocalmin(y, ‘ProminenceWindow’, prominenceWindows(k));
% Count the number of local minima detected
numMinima = sum(minIdx);
% Create a subplot for the current ProminenceWindow
subplot(length(prominenceWindows), 1, k);
plot(x, y, ‘-b’, ‘DisplayName’, ‘Data’);
hold on;
plot(x(minIdx), y(minIdx), ‘ro’, ‘MarkerFaceColor’, ‘r’, ‘DisplayName’, ‘Local Minima’);
hold off;
legend show;
title([‘ProminenceWindow = ‘, num2str(prominenceWindows(k)), ‘, Count = ‘, num2str(numMinima)]);
xlabel(‘x’);
ylabel(‘y’);
end
% Adjust subplot layout for better visualization
sgtitle(‘Local Minima Detection with Different ProminenceWindow Values’); prominencewindow, localmin, localmax, islocalmin, islocalmax MATLAB Answers — New Questions
Why is ‘Clip Limit’ reversed in the ‘adaptisteq’ code?
If ‘adaptisteq’ is applied in matlab, the contrast increases as ‘clip limit’ increases. However, in the original ‘CLAHE’ function, the smaller the ‘clip limit’, the greater the contrast. I wonder why this happens in matlab.If ‘adaptisteq’ is applied in matlab, the contrast increases as ‘clip limit’ increases. However, in the original ‘CLAHE’ function, the smaller the ‘clip limit’, the greater the contrast. I wonder why this happens in matlab. If ‘adaptisteq’ is applied in matlab, the contrast increases as ‘clip limit’ increases. However, in the original ‘CLAHE’ function, the smaller the ‘clip limit’, the greater the contrast. I wonder why this happens in matlab. clahe, adaptisteq MATLAB Answers — New Questions
Replace “,” with a “Newline” in Excel
Dear Experts,
I have a query like below ;-
In Column “A”, I have data like below, and need Output like in Column “D” ;
Thanks in Advance,
Br,
Anupam
Dear Experts, I have a query like below ;-In Column “A”, I have data like below, and need Output like in Column “D” ; Thanks in Advance,Br,Anupam Read More
Random meetings requesting sensitivity labels be applied
In the past few weeks we have noticed that a few staff members are randomly being asked to apply sensitivity labels to calendar invites in Outlook. We haven’t published any labels that target meetings, just emails and files.
I cannot reproduce the problem, but have been advised that it seems to happen when a meeting (that includes external attendees) is forwarded to a new attendee.
The meetings don’t include any attachments or any data that would be targeted by a DLP policy.
We did notice that feature ID 398458 came out last month which could have something to do with it? Although we haven’t configured default labels.
Is anyone else seeing this behaviour or can explain why it is happening?
In the past few weeks we have noticed that a few staff members are randomly being asked to apply sensitivity labels to calendar invites in Outlook. We haven’t published any labels that target meetings, just emails and files. I cannot reproduce the problem, but have been advised that it seems to happen when a meeting (that includes external attendees) is forwarded to a new attendee. The meetings don’t include any attachments or any data that would be targeted by a DLP policy. We did notice that feature ID 398458 came out last month which could have something to do with it? Although we haven’t configured default labels. Is anyone else seeing this behaviour or can explain why it is happening? Read More
Can’t see Mail Rules in Outlook Version 1.2024.916.200 (Production).
Hi. I updated my Outlook to Outlook Version 1.2024.916.200 (Production), using Windows 10 Home build 19045.4894.
But there is now no access to Mail Rules. My settings / gear icon for mail does not throw up the Mail Rules options
Should I go back to old version of outlook?
Are there any workarounds?
Hi. I updated my Outlook to Outlook Version 1.2024.916.200 (Production), using Windows 10 Home build 19045.4894.But there is now no access to Mail Rules. My settings / gear icon for mail does not throw up the Mail Rules optionsShould I go back to old version of outlook?Are there any workarounds? Read More
split plane into set of squares
If I have set of (X,Y) points in a plane, how can I divide this plane into set of squares (with side lenght K), for example 10×10 squares to cover all the plane? the square #1 should start from (Xmin,Ymin)
X 1.33 1.89 9.27 9.46 9.2 7.43 6.08 5.57 6.7
Y 8.89 0.77 1.49 9.36 8.69 1.61 1.34 4.6 2.77
Then how can I know how many point in each square? such that
Square #1 have two points
.
Square #50 have zero point
.
Square #100 have one pointIf I have set of (X,Y) points in a plane, how can I divide this plane into set of squares (with side lenght K), for example 10×10 squares to cover all the plane? the square #1 should start from (Xmin,Ymin)
X 1.33 1.89 9.27 9.46 9.2 7.43 6.08 5.57 6.7
Y 8.89 0.77 1.49 9.36 8.69 1.61 1.34 4.6 2.77
Then how can I know how many point in each square? such that
Square #1 have two points
.
Square #50 have zero point
.
Square #100 have one point If I have set of (X,Y) points in a plane, how can I divide this plane into set of squares (with side lenght K), for example 10×10 squares to cover all the plane? the square #1 should start from (Xmin,Ymin)
X 1.33 1.89 9.27 9.46 9.2 7.43 6.08 5.57 6.7
Y 8.89 0.77 1.49 9.36 8.69 1.61 1.34 4.6 2.77
Then how can I know how many point in each square? such that
Square #1 have two points
.
Square #50 have zero point
.
Square #100 have one point plane, split MATLAB Answers — New Questions
Standalone Matlab App Runtime Error
I am having issues with my launching the executable of my standalone app. The app has been running without issue in the Matlab environment.
I am receiving the following error message when launching the executable. Line 5192 corresponds to the ‘runStartupFcn(app, @startupFcn)’ function.
How do I track where this error is comming from?I am having issues with my launching the executable of my standalone app. The app has been running without issue in the Matlab environment.
I am receiving the following error message when launching the executable. Line 5192 corresponds to the ‘runStartupFcn(app, @startupFcn)’ function.
How do I track where this error is comming from? I am having issues with my launching the executable of my standalone app. The app has been running without issue in the Matlab environment.
I am receiving the following error message when launching the executable. Line 5192 corresponds to the ‘runStartupFcn(app, @startupFcn)’ function.
How do I track where this error is comming from? appdesigner, compiler, runtime, exectable MATLAB Answers — New Questions
Open data in File as per user input
Hello, I am trying to get input from user to load a file and then ask which variable from the file would they like to plot. The input file will be a .mat file and it is a 1×1 struct file with various 2 double series data in it.
When I run this, the error says: Unrecognized field name "x"
Here is my code:
filename=input(‘Input File Name n’,’s’);
file = load(filename);
x=string(input(‘Variable? n’,’s’));
plot(file.x)Hello, I am trying to get input from user to load a file and then ask which variable from the file would they like to plot. The input file will be a .mat file and it is a 1×1 struct file with various 2 double series data in it.
When I run this, the error says: Unrecognized field name "x"
Here is my code:
filename=input(‘Input File Name n’,’s’);
file = load(filename);
x=string(input(‘Variable? n’,’s’));
plot(file.x) Hello, I am trying to get input from user to load a file and then ask which variable from the file would they like to plot. The input file will be a .mat file and it is a 1×1 struct file with various 2 double series data in it.
When I run this, the error says: Unrecognized field name "x"
Here is my code:
filename=input(‘Input File Name n’,’s’);
file = load(filename);
x=string(input(‘Variable? n’,’s’));
plot(file.x) file, user input MATLAB Answers — New Questions
WHAT IMAGE IS THIS?
-Ruído gaussiano: é um tipo de ruído aditivo que segue uma distribuição normal. É comum em imagens capturadas com sensores eletrônicos, como câmeras digitais.
-Ruído sal e pimenta: é um tipo de ruído impulsivo que adiciona pixels brancos ou pretos aleatoriamente na imagem. É comum em imagens capturadas em ambientes com baixa iluminação ou em transmissões de imagens.
– Ruído de Poisson: é um tipo de ruído que ocorre em imagens com baixa intensidade de luz, como imagens médicas ou astronômicas. É causado pela natureza probabilística da captura de fótons.
– Ruído de amplificador: é um tipo de ruído aditivo que ocorre em imagens capturadas com amplificadores eletrônicos, como em câmeras digitais.
– Ruído de tiro: é um tipo de ruído aditivo que ocorre em imagens capturadas com sensores eletrônicos, como câmeras digitais. É causado pela variação aleatória na quantidade de elétrons gerados pelos fotossensores.
– Ruído de quantização: é um tipo de ruído aditivo que ocorre em imagens digitais devido à limitação da resolução do sistema de aquisição de imagens.
– Granulação de filme: é um tipo de ruído aditivo que ocorre em imagens capturadas em filmes fotográficos. É causado pela variação aleatória na densidade de grãos de prata no filme.
– Ruído isotrópico: é um tipo de ruído aditivo que ocorre em imagens digitais devido à variação aleatória na intensidade dos pixels. – Ruído multiplicativo: é um tipo de ruído que ocorre em imagens capturadas por sistemas de radar ou ultrassom. É causado pela reflexão aleatória das ondas sonoras ou eletromagnéticas.
– Ruído periódico: é um tipo de ruído que ocorre em imagens digitais devido à interferência de sinais periódicos, como linhas de energia elétrica ou sinais de televisão.
Filtro de média: é uma técnica de filtragem simples que substitui cada pixel na imagem pela média dos pixels em sua vizinhança. É eficaz para remover ruído gaussiano e ruído de quantização.
Filtro de mediana: é uma técnica de filtragem que substitui cada pixel na imagem pela mediana dos pixels em sua vizinhança. É eficaz para remover ruído impulsivo, como ruído sal e pimenta.
– Filtro de Wiener: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano.
Filtro de Kalman: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de Anisotrópico: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de média: – Vantagens: é uma técnica de filtragem simples e fácil de implementar. É eficaz para remover ruído gaussiano e ruído de quantização. – Desvantagens: pode suavizar demais as bordas da imagem e reduzir a nitidez da imagem.
– Filtro de mediana: – Vantagens: é uma técnica de filtragem robusta que é eficaz para remover ruído impulsivo, como ruído sal e pimenta. Preserva as bordas da imagem. – Desvantagens: pode introduzir artefatos na imagem, como halos ao redor das bordas.
– Filtro de Wiener: – Vantagens: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano. – Desvantagens: pode introduzir artefatos na imagem, como bordas borradas.
– Filtro de Kalman: – Vantagens: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode ser sensível a erros no modelo estatístico.
– Filtro de Anisotrópico: – Vantagens: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode introduzir artefatos na imagem, como bordas serrilhadas.
Filtro Inverso: Busca compensar ou inverter os efeitos de um sistema, sendo usado em processamento de sinal para melhorar a qualidade. Filtro Pseudo-Inverso: Similar ao inverso, mas aplicado em situações em que a matriz não é diretamente inversível. Usa técnicas alternativas para obter uma solução aproximada.
Filtro de Salsicha: Geralmente referido como filtro passa-baixa, atenua as frequências mais altas em um sinal, destacando as mais baixas. Filtro de Mínimos Quadrados Restrito: Utilizado para ajustar um modelo aos dados minimizando a soma dos quadrados das diferenças entre os valores previstos e observados, com restrições adicionais.
Filtro Máximo: Maximiza uma determinada característica, sendo aplicado em diversos contextos, como processamento de imagem e comunicações.
Filtro Mínimo: Minimiza uma característica específica, frequentemente usado em problemas de otimização. Filtro Mediano: Substitui cada pixel em uma imagem pela mediana dos valores dos pixels vizinhos, sendo eficaz para remover ruídos.
Filtro Médio: Calcula a média dos valores em uma região específica, útil para suavizar imagens ou sinais.
Filtro Adaptativo: Ajusta seus parâmetros automaticamente em resposta às características do sinal ou ambiente, proporcionando flexibilidade em várias condições.
Filtro Inverso: Vantagens: Pode oferecer uma compensação precisa. Desvantagens: Sensível a ruídos, instabilidades numéricas.
Filtro Pseudo-Inverso: Vantagens: Útil quando a matriz não é inversível. Desvantagens: A solução é aproximada, não ideal para todos os casos. Filtro de Salsicha: Vantagens: Remove ruídos de alta frequência. Desvantagens: Pode causar suavização excessiva e perda de detalhes.
Filtro de Mínimos Quadrados Restrito: Vantagens: Lida com restrições específicas. Desvantagens: Pode ser sensível a condições iniciais, computacionalmente exigente.
Filtro Máximo: Vantagens: Destaca características específicas. Desvantagens: Pode realçar ruídos indesejados.
Filtro Mínimo: Vantagens: Útil para remoção de ruídos. Desvantagens: Suaviza detalhes importantes.
Filtro Mediano: Vantagens: Eficaz na remoção de ruídos impulsivos. Desvantagens: Pode não ser tão eficaz para outros tipos de ruídos.
Filtro Médio: Vantagens: Suaviza sinais preservando tendências. Desvantagens: Pode não funcionar bem com outliers.
Filtro Adaptativo: Vantagens: Ajusta-se automaticamente a mudanças nas condições. Desvantagens: Complexidade computacional, sensibilidade a condições extremas.
——————————————————————————————————————————————————————————————-
LIMIARIZAÇÃO=
% Carregar a imagem
f = imread(‘football.jpg’); % Substitua ‘football.jpg’ pelo nome da sua imagem
% Converter para escala de cinza
grayImage = rgb2gray(f);
% Definir o limiar
threshold = 0.5; % Pode ser um valor entre 0 e 1, ou um valor específico para imagens em 8 bits (0 a 255)
% Limiarizar a imagem
binaryImage = imbinarize(grayImage, threshold);
% Exibir as imagens
figure;
subplot(1, 2, 1);
imshow(grayImage);
title(‘Imagem em Escala de Cinza’);
subplot(1, 2, 2);
imshow(binaryImage);
title(‘Imagem Limiarizada’);
————————————————————————————————–
ESCALA DE CINZA – BINARIZAÇÃO
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
m=127;
E=20;
g=1./(1+(m./(double(f)+ eps)).^E)
subplot(1,2,1);imshow(f);subplot(1,2,2);imshow(g);
——————————————————————————————-
AJUSTE DE CONTRASTE
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0 ],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
————————————————————————————————-
imread(‘peppers.png’);
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
——————————————————————————————————————
i=imread(‘peppers.png’);
g=rgb2gray(i);
s=im2uint8(mat2gray(log(1+double(g))));
subplot(1,3,1);imshow(i);subplot(1,3,2);imshow(g);
subplot(1,3,3);imshow(s);
——————————————————————————————————————
f=rgb2gray(imread(‘peppers.png’));
[P, Q]=size(f);
F=fft2(f, 2*P, 2*Q); F=abs(F) ;Fc=fftshift(F);
subplot(1,3,1);imshow(f);subplot(1,3,2);imshow(Fc,[]);
s=im2uint8(mat2gray(log( 1 + double(Fc))));
subplot(1,3,3); imshow(s,[]);
——————————————————————————————————————
fruido=rgb2gray(imread( "boy-6281260_640.jpg"));
w2= (1/64)*ones(8);
g2=im2uint8(mat2gray(imfilter(double(fruido),w2)));
subplot(1,2,1);imshow(fruido);subplot(1,2,2);imshow(g2);
——————————————————————————————————————
A=imread("boy-6281260_640.jpg");
subplot(1,2,1); imshow (A);
k= fspecial(‘average’, [9 9]);
B=imfilter(A, k,"symmetric");
subplot(1,2,2); imshow(B);
————————————————————————————————-
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
————————————————————————————————–
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
K=ones (3,3)/9;
I_m = imfilter(I,k);
Isp_m = imfilter(Isp,k);
Ig_m = imfilter(Ig,k);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = medfilt2(I,[3 3]);
Isp_m = medfilt2(Isp,[3 3]);
Ig_m = medfilt2(Ig, [3 3]);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = ordfilt2(I,25,ones(5,5));
Isp_m = ordfilt2(Isp,25,ones(5,5));
Ig_m = ordfilt2(Ig,25,ones(5,5));
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
——————————————————-
Guide —
function varargout = EstudandoThomas(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @EstudandoThomas_OpeningFcn, …
‘gui_OutputFcn’, @EstudandoThomas_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT
% — Executes just before EstudandoThomas is made visible.
function EstudandoThomas_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% — Outputs from this function are returned to the command line.
function varargout = EstudandoThomas_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% — Executes on button press in Abrir.
function Abrir_Callback(hObject, eventdata, handles)
global im1
[filename,path]=uigetfile(‘*.jpg;*.gif;*.tif;*.png’,’Selecione Imagem’);
im1=imread(strcat(path,filename));
axes(handles.axes1);
imshow(im1);
% — Executes on button press in Cinza.
function Cinza_Callback(hObject, eventdata, handles)
global im1 gray
gray=rgb2gray(im1);
axes(handles.axes2);
imshow(gray);
% — Executes on button press in Histograma.
function Histograma_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes4);
imhist(gray);
% — Executes on button press in Equalizar.
function Equalizar_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes5);
eq=histeq(gray);
imhist(eq);
% — Executes on button press in Salvar.
function Salvar_Callback(hObject, eventdata, handles)
F=getimage(handles.axes3);
FileName=uiputfile({‘*.jpg;*.tif;*.png;*.gif’,’All Image Files’;…
‘*.*’,’All Files’ },’Save Image’,…
‘C:Worknewfile.jpg’)
imwrite(F,FileName,’jpg’);
% — Executes on button press in Reset.
function Reset_Callback(hObject, eventdata, handles)
cla(handles.axes1,’reset’);
cla(handles.axes2,’reset’);
cla(handles.axes3,’reset’);
cla(handles.axes4,’reset’);
cla(handles.axes5,’reset’);
% — Executes on button press in Media.
function Media_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
w1=(1/(n^2))*ones(n);
g1=im2uint8(mat2gray(imfilter(double(gray),w1)));
imshow(g1);
% — Executes on button press in Mediana.
function Mediana_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
posicao=double((n^2-1)/2)+1;
g2=ordfilt2(gray,posicao,true(n));
imshow(g2);
% — Executes on button press in Maximo.
function Maximo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,n*n,true(n));
imshow(g2);
% — Executes on button press in Minimo.
function Minimo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,1,true(n));
imshow(g2);
function Matriz_Callback(hObject, eventdata, handles)
global n
str=get(handles.Matriz,’String’);
n=str2double(str);
% — Executes during object creation, after setting all properties.
function Matriz_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end
% — Executes on button press in Binario.
function Binario_Callback(hObject, eventdata, handles)
global gray
binario=im2bw(gray);
axes(handles.axes3);
imshow(binario)
% — Executes on button press in Negativo.
function Negativo_Callback(hObject, eventdata, handles)
global gray
neg = imadjust(gray, [0 1], [1 0],1);
axes(handles.axes3);
imshow(neg);-Ruído gaussiano: é um tipo de ruído aditivo que segue uma distribuição normal. É comum em imagens capturadas com sensores eletrônicos, como câmeras digitais.
-Ruído sal e pimenta: é um tipo de ruído impulsivo que adiciona pixels brancos ou pretos aleatoriamente na imagem. É comum em imagens capturadas em ambientes com baixa iluminação ou em transmissões de imagens.
– Ruído de Poisson: é um tipo de ruído que ocorre em imagens com baixa intensidade de luz, como imagens médicas ou astronômicas. É causado pela natureza probabilística da captura de fótons.
– Ruído de amplificador: é um tipo de ruído aditivo que ocorre em imagens capturadas com amplificadores eletrônicos, como em câmeras digitais.
– Ruído de tiro: é um tipo de ruído aditivo que ocorre em imagens capturadas com sensores eletrônicos, como câmeras digitais. É causado pela variação aleatória na quantidade de elétrons gerados pelos fotossensores.
– Ruído de quantização: é um tipo de ruído aditivo que ocorre em imagens digitais devido à limitação da resolução do sistema de aquisição de imagens.
– Granulação de filme: é um tipo de ruído aditivo que ocorre em imagens capturadas em filmes fotográficos. É causado pela variação aleatória na densidade de grãos de prata no filme.
– Ruído isotrópico: é um tipo de ruído aditivo que ocorre em imagens digitais devido à variação aleatória na intensidade dos pixels. – Ruído multiplicativo: é um tipo de ruído que ocorre em imagens capturadas por sistemas de radar ou ultrassom. É causado pela reflexão aleatória das ondas sonoras ou eletromagnéticas.
– Ruído periódico: é um tipo de ruído que ocorre em imagens digitais devido à interferência de sinais periódicos, como linhas de energia elétrica ou sinais de televisão.
Filtro de média: é uma técnica de filtragem simples que substitui cada pixel na imagem pela média dos pixels em sua vizinhança. É eficaz para remover ruído gaussiano e ruído de quantização.
Filtro de mediana: é uma técnica de filtragem que substitui cada pixel na imagem pela mediana dos pixels em sua vizinhança. É eficaz para remover ruído impulsivo, como ruído sal e pimenta.
– Filtro de Wiener: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano.
Filtro de Kalman: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de Anisotrópico: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de média: – Vantagens: é uma técnica de filtragem simples e fácil de implementar. É eficaz para remover ruído gaussiano e ruído de quantização. – Desvantagens: pode suavizar demais as bordas da imagem e reduzir a nitidez da imagem.
– Filtro de mediana: – Vantagens: é uma técnica de filtragem robusta que é eficaz para remover ruído impulsivo, como ruído sal e pimenta. Preserva as bordas da imagem. – Desvantagens: pode introduzir artefatos na imagem, como halos ao redor das bordas.
– Filtro de Wiener: – Vantagens: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano. – Desvantagens: pode introduzir artefatos na imagem, como bordas borradas.
– Filtro de Kalman: – Vantagens: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode ser sensível a erros no modelo estatístico.
– Filtro de Anisotrópico: – Vantagens: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode introduzir artefatos na imagem, como bordas serrilhadas.
Filtro Inverso: Busca compensar ou inverter os efeitos de um sistema, sendo usado em processamento de sinal para melhorar a qualidade. Filtro Pseudo-Inverso: Similar ao inverso, mas aplicado em situações em que a matriz não é diretamente inversível. Usa técnicas alternativas para obter uma solução aproximada.
Filtro de Salsicha: Geralmente referido como filtro passa-baixa, atenua as frequências mais altas em um sinal, destacando as mais baixas. Filtro de Mínimos Quadrados Restrito: Utilizado para ajustar um modelo aos dados minimizando a soma dos quadrados das diferenças entre os valores previstos e observados, com restrições adicionais.
Filtro Máximo: Maximiza uma determinada característica, sendo aplicado em diversos contextos, como processamento de imagem e comunicações.
Filtro Mínimo: Minimiza uma característica específica, frequentemente usado em problemas de otimização. Filtro Mediano: Substitui cada pixel em uma imagem pela mediana dos valores dos pixels vizinhos, sendo eficaz para remover ruídos.
Filtro Médio: Calcula a média dos valores em uma região específica, útil para suavizar imagens ou sinais.
Filtro Adaptativo: Ajusta seus parâmetros automaticamente em resposta às características do sinal ou ambiente, proporcionando flexibilidade em várias condições.
Filtro Inverso: Vantagens: Pode oferecer uma compensação precisa. Desvantagens: Sensível a ruídos, instabilidades numéricas.
Filtro Pseudo-Inverso: Vantagens: Útil quando a matriz não é inversível. Desvantagens: A solução é aproximada, não ideal para todos os casos. Filtro de Salsicha: Vantagens: Remove ruídos de alta frequência. Desvantagens: Pode causar suavização excessiva e perda de detalhes.
Filtro de Mínimos Quadrados Restrito: Vantagens: Lida com restrições específicas. Desvantagens: Pode ser sensível a condições iniciais, computacionalmente exigente.
Filtro Máximo: Vantagens: Destaca características específicas. Desvantagens: Pode realçar ruídos indesejados.
Filtro Mínimo: Vantagens: Útil para remoção de ruídos. Desvantagens: Suaviza detalhes importantes.
Filtro Mediano: Vantagens: Eficaz na remoção de ruídos impulsivos. Desvantagens: Pode não ser tão eficaz para outros tipos de ruídos.
Filtro Médio: Vantagens: Suaviza sinais preservando tendências. Desvantagens: Pode não funcionar bem com outliers.
Filtro Adaptativo: Vantagens: Ajusta-se automaticamente a mudanças nas condições. Desvantagens: Complexidade computacional, sensibilidade a condições extremas.
——————————————————————————————————————————————————————————————-
LIMIARIZAÇÃO=
% Carregar a imagem
f = imread(‘football.jpg’); % Substitua ‘football.jpg’ pelo nome da sua imagem
% Converter para escala de cinza
grayImage = rgb2gray(f);
% Definir o limiar
threshold = 0.5; % Pode ser um valor entre 0 e 1, ou um valor específico para imagens em 8 bits (0 a 255)
% Limiarizar a imagem
binaryImage = imbinarize(grayImage, threshold);
% Exibir as imagens
figure;
subplot(1, 2, 1);
imshow(grayImage);
title(‘Imagem em Escala de Cinza’);
subplot(1, 2, 2);
imshow(binaryImage);
title(‘Imagem Limiarizada’);
————————————————————————————————–
ESCALA DE CINZA – BINARIZAÇÃO
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
m=127;
E=20;
g=1./(1+(m./(double(f)+ eps)).^E)
subplot(1,2,1);imshow(f);subplot(1,2,2);imshow(g);
——————————————————————————————-
AJUSTE DE CONTRASTE
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0 ],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
————————————————————————————————-
imread(‘peppers.png’);
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
——————————————————————————————————————
i=imread(‘peppers.png’);
g=rgb2gray(i);
s=im2uint8(mat2gray(log(1+double(g))));
subplot(1,3,1);imshow(i);subplot(1,3,2);imshow(g);
subplot(1,3,3);imshow(s);
——————————————————————————————————————
f=rgb2gray(imread(‘peppers.png’));
[P, Q]=size(f);
F=fft2(f, 2*P, 2*Q); F=abs(F) ;Fc=fftshift(F);
subplot(1,3,1);imshow(f);subplot(1,3,2);imshow(Fc,[]);
s=im2uint8(mat2gray(log( 1 + double(Fc))));
subplot(1,3,3); imshow(s,[]);
——————————————————————————————————————
fruido=rgb2gray(imread( "boy-6281260_640.jpg"));
w2= (1/64)*ones(8);
g2=im2uint8(mat2gray(imfilter(double(fruido),w2)));
subplot(1,2,1);imshow(fruido);subplot(1,2,2);imshow(g2);
——————————————————————————————————————
A=imread("boy-6281260_640.jpg");
subplot(1,2,1); imshow (A);
k= fspecial(‘average’, [9 9]);
B=imfilter(A, k,"symmetric");
subplot(1,2,2); imshow(B);
————————————————————————————————-
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
————————————————————————————————–
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
K=ones (3,3)/9;
I_m = imfilter(I,k);
Isp_m = imfilter(Isp,k);
Ig_m = imfilter(Ig,k);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = medfilt2(I,[3 3]);
Isp_m = medfilt2(Isp,[3 3]);
Ig_m = medfilt2(Ig, [3 3]);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = ordfilt2(I,25,ones(5,5));
Isp_m = ordfilt2(Isp,25,ones(5,5));
Ig_m = ordfilt2(Ig,25,ones(5,5));
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
——————————————————-
Guide —
function varargout = EstudandoThomas(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @EstudandoThomas_OpeningFcn, …
‘gui_OutputFcn’, @EstudandoThomas_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT
% — Executes just before EstudandoThomas is made visible.
function EstudandoThomas_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% — Outputs from this function are returned to the command line.
function varargout = EstudandoThomas_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% — Executes on button press in Abrir.
function Abrir_Callback(hObject, eventdata, handles)
global im1
[filename,path]=uigetfile(‘*.jpg;*.gif;*.tif;*.png’,’Selecione Imagem’);
im1=imread(strcat(path,filename));
axes(handles.axes1);
imshow(im1);
% — Executes on button press in Cinza.
function Cinza_Callback(hObject, eventdata, handles)
global im1 gray
gray=rgb2gray(im1);
axes(handles.axes2);
imshow(gray);
% — Executes on button press in Histograma.
function Histograma_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes4);
imhist(gray);
% — Executes on button press in Equalizar.
function Equalizar_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes5);
eq=histeq(gray);
imhist(eq);
% — Executes on button press in Salvar.
function Salvar_Callback(hObject, eventdata, handles)
F=getimage(handles.axes3);
FileName=uiputfile({‘*.jpg;*.tif;*.png;*.gif’,’All Image Files’;…
‘*.*’,’All Files’ },’Save Image’,…
‘C:Worknewfile.jpg’)
imwrite(F,FileName,’jpg’);
% — Executes on button press in Reset.
function Reset_Callback(hObject, eventdata, handles)
cla(handles.axes1,’reset’);
cla(handles.axes2,’reset’);
cla(handles.axes3,’reset’);
cla(handles.axes4,’reset’);
cla(handles.axes5,’reset’);
% — Executes on button press in Media.
function Media_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
w1=(1/(n^2))*ones(n);
g1=im2uint8(mat2gray(imfilter(double(gray),w1)));
imshow(g1);
% — Executes on button press in Mediana.
function Mediana_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
posicao=double((n^2-1)/2)+1;
g2=ordfilt2(gray,posicao,true(n));
imshow(g2);
% — Executes on button press in Maximo.
function Maximo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,n*n,true(n));
imshow(g2);
% — Executes on button press in Minimo.
function Minimo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,1,true(n));
imshow(g2);
function Matriz_Callback(hObject, eventdata, handles)
global n
str=get(handles.Matriz,’String’);
n=str2double(str);
% — Executes during object creation, after setting all properties.
function Matriz_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end
% — Executes on button press in Binario.
function Binario_Callback(hObject, eventdata, handles)
global gray
binario=im2bw(gray);
axes(handles.axes3);
imshow(binario)
% — Executes on button press in Negativo.
function Negativo_Callback(hObject, eventdata, handles)
global gray
neg = imadjust(gray, [0 1], [1 0],1);
axes(handles.axes3);
imshow(neg); -Ruído gaussiano: é um tipo de ruído aditivo que segue uma distribuição normal. É comum em imagens capturadas com sensores eletrônicos, como câmeras digitais.
-Ruído sal e pimenta: é um tipo de ruído impulsivo que adiciona pixels brancos ou pretos aleatoriamente na imagem. É comum em imagens capturadas em ambientes com baixa iluminação ou em transmissões de imagens.
– Ruído de Poisson: é um tipo de ruído que ocorre em imagens com baixa intensidade de luz, como imagens médicas ou astronômicas. É causado pela natureza probabilística da captura de fótons.
– Ruído de amplificador: é um tipo de ruído aditivo que ocorre em imagens capturadas com amplificadores eletrônicos, como em câmeras digitais.
– Ruído de tiro: é um tipo de ruído aditivo que ocorre em imagens capturadas com sensores eletrônicos, como câmeras digitais. É causado pela variação aleatória na quantidade de elétrons gerados pelos fotossensores.
– Ruído de quantização: é um tipo de ruído aditivo que ocorre em imagens digitais devido à limitação da resolução do sistema de aquisição de imagens.
– Granulação de filme: é um tipo de ruído aditivo que ocorre em imagens capturadas em filmes fotográficos. É causado pela variação aleatória na densidade de grãos de prata no filme.
– Ruído isotrópico: é um tipo de ruído aditivo que ocorre em imagens digitais devido à variação aleatória na intensidade dos pixels. – Ruído multiplicativo: é um tipo de ruído que ocorre em imagens capturadas por sistemas de radar ou ultrassom. É causado pela reflexão aleatória das ondas sonoras ou eletromagnéticas.
– Ruído periódico: é um tipo de ruído que ocorre em imagens digitais devido à interferência de sinais periódicos, como linhas de energia elétrica ou sinais de televisão.
Filtro de média: é uma técnica de filtragem simples que substitui cada pixel na imagem pela média dos pixels em sua vizinhança. É eficaz para remover ruído gaussiano e ruído de quantização.
Filtro de mediana: é uma técnica de filtragem que substitui cada pixel na imagem pela mediana dos pixels em sua vizinhança. É eficaz para remover ruído impulsivo, como ruído sal e pimenta.
– Filtro de Wiener: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano.
Filtro de Kalman: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de Anisotrópico: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador.
– Filtro de média: – Vantagens: é uma técnica de filtragem simples e fácil de implementar. É eficaz para remover ruído gaussiano e ruído de quantização. – Desvantagens: pode suavizar demais as bordas da imagem e reduzir a nitidez da imagem.
– Filtro de mediana: – Vantagens: é uma técnica de filtragem robusta que é eficaz para remover ruído impulsivo, como ruído sal e pimenta. Preserva as bordas da imagem. – Desvantagens: pode introduzir artefatos na imagem, como halos ao redor das bordas.
– Filtro de Wiener: – Vantagens: é uma técnica de filtragem que usa uma estimativa da densidade espectral de potência do sinal de imagem e do ruído para remover o ruído. É eficaz para remover ruído gaussiano. – Desvantagens: pode introduzir artefatos na imagem, como bordas borradas.
– Filtro de Kalman: – Vantagens: é uma técnica de filtragem que usa um modelo estatístico para estimar o sinal de imagem original a partir do sinal degradado. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode ser sensível a erros no modelo estatístico.
– Filtro de Anisotrópico: – Vantagens: é uma técnica de filtragem que usa uma equação diferencial parcial para remover o ruído enquanto preserva as bordas da imagem. É eficaz para remover ruído gaussiano e ruído de amplificador. – Desvantagens: é computacionalmente intensivo e pode introduzir artefatos na imagem, como bordas serrilhadas.
Filtro Inverso: Busca compensar ou inverter os efeitos de um sistema, sendo usado em processamento de sinal para melhorar a qualidade. Filtro Pseudo-Inverso: Similar ao inverso, mas aplicado em situações em que a matriz não é diretamente inversível. Usa técnicas alternativas para obter uma solução aproximada.
Filtro de Salsicha: Geralmente referido como filtro passa-baixa, atenua as frequências mais altas em um sinal, destacando as mais baixas. Filtro de Mínimos Quadrados Restrito: Utilizado para ajustar um modelo aos dados minimizando a soma dos quadrados das diferenças entre os valores previstos e observados, com restrições adicionais.
Filtro Máximo: Maximiza uma determinada característica, sendo aplicado em diversos contextos, como processamento de imagem e comunicações.
Filtro Mínimo: Minimiza uma característica específica, frequentemente usado em problemas de otimização. Filtro Mediano: Substitui cada pixel em uma imagem pela mediana dos valores dos pixels vizinhos, sendo eficaz para remover ruídos.
Filtro Médio: Calcula a média dos valores em uma região específica, útil para suavizar imagens ou sinais.
Filtro Adaptativo: Ajusta seus parâmetros automaticamente em resposta às características do sinal ou ambiente, proporcionando flexibilidade em várias condições.
Filtro Inverso: Vantagens: Pode oferecer uma compensação precisa. Desvantagens: Sensível a ruídos, instabilidades numéricas.
Filtro Pseudo-Inverso: Vantagens: Útil quando a matriz não é inversível. Desvantagens: A solução é aproximada, não ideal para todos os casos. Filtro de Salsicha: Vantagens: Remove ruídos de alta frequência. Desvantagens: Pode causar suavização excessiva e perda de detalhes.
Filtro de Mínimos Quadrados Restrito: Vantagens: Lida com restrições específicas. Desvantagens: Pode ser sensível a condições iniciais, computacionalmente exigente.
Filtro Máximo: Vantagens: Destaca características específicas. Desvantagens: Pode realçar ruídos indesejados.
Filtro Mínimo: Vantagens: Útil para remoção de ruídos. Desvantagens: Suaviza detalhes importantes.
Filtro Mediano: Vantagens: Eficaz na remoção de ruídos impulsivos. Desvantagens: Pode não ser tão eficaz para outros tipos de ruídos.
Filtro Médio: Vantagens: Suaviza sinais preservando tendências. Desvantagens: Pode não funcionar bem com outliers.
Filtro Adaptativo: Vantagens: Ajusta-se automaticamente a mudanças nas condições. Desvantagens: Complexidade computacional, sensibilidade a condições extremas.
——————————————————————————————————————————————————————————————-
LIMIARIZAÇÃO=
% Carregar a imagem
f = imread(‘football.jpg’); % Substitua ‘football.jpg’ pelo nome da sua imagem
% Converter para escala de cinza
grayImage = rgb2gray(f);
% Definir o limiar
threshold = 0.5; % Pode ser um valor entre 0 e 1, ou um valor específico para imagens em 8 bits (0 a 255)
% Limiarizar a imagem
binaryImage = imbinarize(grayImage, threshold);
% Exibir as imagens
figure;
subplot(1, 2, 1);
imshow(grayImage);
title(‘Imagem em Escala de Cinza’);
subplot(1, 2, 2);
imshow(binaryImage);
title(‘Imagem Limiarizada’);
————————————————————————————————–
ESCALA DE CINZA – BINARIZAÇÃO
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
m=127;
E=20;
g=1./(1+(m./(double(f)+ eps)).^E)
subplot(1,2,1);imshow(f);subplot(1,2,2);imshow(g);
——————————————————————————————-
AJUSTE DE CONTRASTE
f=rgb2gray(imread(‘peppers.png’));
bw=im2bw(f,0.5);
imshow(bw)
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0 ],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
————————————————————————————————-
imread(‘peppers.png’);
g1= imadjust(f,[0 1],[1 0],0.6);
g2= imadjust(f,[0 1],[1 0],1);
g3= imadjust(f,[0 1],[1 0],4);
subplot(1,3,1)
imshow(g1)
subplot(1,3,2)
imshow(g2)
subplot(1,3,3)
imshow(g3)
——————————————————————————————————————
i=imread(‘peppers.png’);
g=rgb2gray(i);
s=im2uint8(mat2gray(log(1+double(g))));
subplot(1,3,1);imshow(i);subplot(1,3,2);imshow(g);
subplot(1,3,3);imshow(s);
——————————————————————————————————————
f=rgb2gray(imread(‘peppers.png’));
[P, Q]=size(f);
F=fft2(f, 2*P, 2*Q); F=abs(F) ;Fc=fftshift(F);
subplot(1,3,1);imshow(f);subplot(1,3,2);imshow(Fc,[]);
s=im2uint8(mat2gray(log( 1 + double(Fc))));
subplot(1,3,3); imshow(s,[]);
——————————————————————————————————————
fruido=rgb2gray(imread( "boy-6281260_640.jpg"));
w2= (1/64)*ones(8);
g2=im2uint8(mat2gray(imfilter(double(fruido),w2)));
subplot(1,2,1);imshow(fruido);subplot(1,2,2);imshow(g2);
——————————————————————————————————————
A=imread("boy-6281260_640.jpg");
subplot(1,2,1); imshow (A);
k= fspecial(‘average’, [9 9]);
B=imfilter(A, k,"symmetric");
subplot(1,2,2); imshow(B);
————————————————————————————————-
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
————————————————————————————————–
I=rgb2gray(imread(‘boy-6281260_640.jpg’));
subplot(1,3,1), imshow(I);
Isp = imnoise (I, ‘salt & pepper’, 0.03);
subplot(1,3,2), imshow(Isp);
Ig = imnoise (I,’gaussian’, 0.02);
subplot(1,3,3), imshow(Ig);
K=ones (3,3)/9;
I_m = imfilter(I,k);
Isp_m = imfilter(Isp,k);
Ig_m = imfilter(Ig,k);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = medfilt2(I,[3 3]);
Isp_m = medfilt2(Isp,[3 3]);
Ig_m = medfilt2(Ig, [3 3]);
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
%%
I_m = ordfilt2(I,25,ones(5,5));
Isp_m = ordfilt2(Isp,25,ones(5,5));
Ig_m = ordfilt2(Ig,25,ones(5,5));
subplot(1,3,1), imshow(I_m);
subplot(1,3,2), imshow(Isp_m);
subplot(1,3,3), imshow(Ig_m);
——————————————————-
Guide —
function varargout = EstudandoThomas(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @EstudandoThomas_OpeningFcn, …
‘gui_OutputFcn’, @EstudandoThomas_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT
% — Executes just before EstudandoThomas is made visible.
function EstudandoThomas_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% — Outputs from this function are returned to the command line.
function varargout = EstudandoThomas_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% — Executes on button press in Abrir.
function Abrir_Callback(hObject, eventdata, handles)
global im1
[filename,path]=uigetfile(‘*.jpg;*.gif;*.tif;*.png’,’Selecione Imagem’);
im1=imread(strcat(path,filename));
axes(handles.axes1);
imshow(im1);
% — Executes on button press in Cinza.
function Cinza_Callback(hObject, eventdata, handles)
global im1 gray
gray=rgb2gray(im1);
axes(handles.axes2);
imshow(gray);
% — Executes on button press in Histograma.
function Histograma_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes4);
imhist(gray);
% — Executes on button press in Equalizar.
function Equalizar_Callback(hObject, eventdata, handles)
global gray
axes(handles.axes5);
eq=histeq(gray);
imhist(eq);
% — Executes on button press in Salvar.
function Salvar_Callback(hObject, eventdata, handles)
F=getimage(handles.axes3);
FileName=uiputfile({‘*.jpg;*.tif;*.png;*.gif’,’All Image Files’;…
‘*.*’,’All Files’ },’Save Image’,…
‘C:Worknewfile.jpg’)
imwrite(F,FileName,’jpg’);
% — Executes on button press in Reset.
function Reset_Callback(hObject, eventdata, handles)
cla(handles.axes1,’reset’);
cla(handles.axes2,’reset’);
cla(handles.axes3,’reset’);
cla(handles.axes4,’reset’);
cla(handles.axes5,’reset’);
% — Executes on button press in Media.
function Media_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
w1=(1/(n^2))*ones(n);
g1=im2uint8(mat2gray(imfilter(double(gray),w1)));
imshow(g1);
% — Executes on button press in Mediana.
function Mediana_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
posicao=double((n^2-1)/2)+1;
g2=ordfilt2(gray,posicao,true(n));
imshow(g2);
% — Executes on button press in Maximo.
function Maximo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,n*n,true(n));
imshow(g2);
% — Executes on button press in Minimo.
function Minimo_Callback(hObject, eventdata, handles)
global gray n
axes(handles.axes3);
g2=ordfilt2(gray,1,true(n));
imshow(g2);
function Matriz_Callback(hObject, eventdata, handles)
global n
str=get(handles.Matriz,’String’);
n=str2double(str);
% — Executes during object creation, after setting all properties.
function Matriz_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’))
set(hObject,’BackgroundColor’,’white’);
end
% — Executes on button press in Binario.
function Binario_Callback(hObject, eventdata, handles)
global gray
binario=im2bw(gray);
axes(handles.axes3);
imshow(binario)
% — Executes on button press in Negativo.
function Negativo_Callback(hObject, eventdata, handles)
global gray
neg = imadjust(gray, [0 1], [1 0],1);
axes(handles.axes3);
imshow(neg); filter, ruids MATLAB Answers — New Questions
How i can get the User “Description” field from Active Directory, using none-premium connection?
I have a Power Apps canvas application, and i want to get the User’s Description field from Active Directory.
This field:-
now when i tried the SearchUser() connector, seems the properties i will get do not include the “Description” field, as follow:-
I also tried this connection and it did not provide the Description (which is different from AboutMe property):-
Office365Users.UserProfileV2(User().Email)
So can i get this property with the help of power automate? keeping in mind that most of our users do not have premium license.
Thanks
I have a Power Apps canvas application, and i want to get the User’s Description field from Active Directory. This field:- now when i tried the SearchUser() connector, seems the properties i will get do not include the “Description” field, as follow:- I also tried this connection and it did not provide the Description (which is different from AboutMe property):- Office365Users.UserProfileV2(User().Email) So can i get this property with the help of power automate? keeping in mind that most of our users do not have premium license.Thanks Read More
Recipe nutrition database/pivot table
Im not new to excel but very new to tables, databases, and pivot tables. My knowledge base is very limited on what Ive done so far. I am trying to develop a way that I can choose certain recipes which contain the ingredients, and their nutritional values. I’d like to pick the recipes, or maybe just the one food like yogurt, or a banana for breakfast. A recipe for lunch, and dinner. Then have excel give me the total of all the nutrients for that day. This would help me track my intake to help lower cholesterol, and my blood pressure. I read how to create a database which was just inputting the data then creating a table. That was easy enough, but I do not know how to use this table to perform the functions I want.
Im not new to excel but very new to tables, databases, and pivot tables. My knowledge base is very limited on what Ive done so far. I am trying to develop a way that I can choose certain recipes which contain the ingredients, and their nutritional values. I’d like to pick the recipes, or maybe just the one food like yogurt, or a banana for breakfast. A recipe for lunch, and dinner. Then have excel give me the total of all the nutrients for that day. This would help me track my intake to help lower cholesterol, and my blood pressure. I read how to create a database which was just inputting the data then creating a table. That was easy enough, but I do not know how to use this table to perform the functions I want. Read More
COUNTIF Question
I will be regarding this post made by Microsoft: https://support.microsoft.com/en-us/office/countif-function-e0de10c6-f885-4e71-abb4-1f464816df34
In the video it shows a simple COUNTIF equation showing how many times Buchanan is mentioned. In my own Excel project, I am trying to use a function to count how many invoices there are specifically for Buchanon combined. I have around 1000 rows so I’m looking for something quick and easy. Any help would be appreciated!
I will be regarding this post made by Microsoft: https://support.microsoft.com/en-us/office/countif-function-e0de10c6-f885-4e71-abb4-1f464816df34In the video it shows a simple COUNTIF equation showing how many times Buchanan is mentioned. In my own Excel project, I am trying to use a function to count how many invoices there are specifically for Buchanon combined. I have around 1000 rows so I’m looking for something quick and easy. Any help would be appreciated! Read More
Delete footnote separator on one page only
Hi,
I’m currently working on a document, i deleted a footnote number, but it kept the line on the document.
When i go to view > draft then references > show notes and delete the line, it deletes the separator lines in all the document which I don’t want. Can anyone help?
Thanks
Hi, I’m currently working on a document, i deleted a footnote number, but it kept the line on the document.When i go to view > draft then references > show notes and delete the line, it deletes the separator lines in all the document which I don’t want. Can anyone help? Thanks Read More
How can I keep the first two elements from CSV values in a string
I have a Table where one of the columns contains text elements separated by commas. I want to keep the first element (if there is only one) or the first two (if the are more than one). There also could be empty lines. For example, from:
abcd, efgh, tyui
[]
lkjh, poiu
wert
I want to get
abcd, efgh
[]
lkjh, pou
wert
I know how to do this with a for loop. But the idea would be to use regular expressions or something similar to accelerate the process. The Table has almost 2M elements.
Any suggestion would be of great help. Thanks.I have a Table where one of the columns contains text elements separated by commas. I want to keep the first element (if there is only one) or the first two (if the are more than one). There also could be empty lines. For example, from:
abcd, efgh, tyui
[]
lkjh, poiu
wert
I want to get
abcd, efgh
[]
lkjh, pou
wert
I know how to do this with a for loop. But the idea would be to use regular expressions or something similar to accelerate the process. The Table has almost 2M elements.
Any suggestion would be of great help. Thanks. I have a Table where one of the columns contains text elements separated by commas. I want to keep the first element (if there is only one) or the first two (if the are more than one). There also could be empty lines. For example, from:
abcd, efgh, tyui
[]
lkjh, poiu
wert
I want to get
abcd, efgh
[]
lkjh, pou
wert
I know how to do this with a for loop. But the idea would be to use regular expressions or something similar to accelerate the process. The Table has almost 2M elements.
Any suggestion would be of great help. Thanks. regular expressions, text selection MATLAB Answers — New Questions
Bessel function – roots and zeros on interval
Hi, I’m beginner here. I have Bessel function of the first kind J1. I need find roots and zeros on interval <10,20>. Could you help me plase? :/Hi, I’m beginner here. I have Bessel function of the first kind J1. I need find roots and zeros on interval <10,20>. Could you help me plase? :/ Hi, I’m beginner here. I have Bessel function of the first kind J1. I need find roots and zeros on interval <10,20>. Could you help me plase? :/ roots, zeros, bessel function, besselj MATLAB Answers — New Questions
changes the parameters of a fuzzy Inference system in run time
Is this possible to change the parameters of a fuzzy Inference system in runtime? I tried to use some variables of workspace to change the value of membership functions but it give always an error.Is this possible to change the parameters of a fuzzy Inference system in runtime? I tried to use some variables of workspace to change the value of membership functions but it give always an error. Is this possible to change the parameters of a fuzzy Inference system in runtime? I tried to use some variables of workspace to change the value of membership functions but it give always an error. transferred MATLAB Answers — New Questions
registering a device
When registering a new device (my Dell PC desktop) I am required to enter the serial number. There is no serial number on the pc but there is a service tag number, which, Dell tells me is the same thing. But the Microsoft page wont accept it. What to do now? By the way, this same device was registered in Microsoft 365 before but I removed it while I worked on it. (Replaced HDD with SSD). I cant rememeber how I got it registered before,
When registering a new device (my Dell PC desktop) I am required to enter the serial number. There is no serial number on the pc but there is a service tag number, which, Dell tells me is the same thing. But the Microsoft page wont accept it. What to do now? By the way, this same device was registered in Microsoft 365 before but I removed it while I worked on it. (Replaced HDD with SSD). I cant rememeber how I got it registered before, Read More