Skip to content

Instantly share code, notes, and snippets.

View douglasbreda's full-sized avatar
:octocat:

Douglas Breda douglasbreda

:octocat:
View GitHub Profile
Mat PDI::limiarGlobalSimples(Mat imagemBaseCinza, float limiar) {
Mat aux = escalaCinza(imagemBaseCinza);
imshow("Escala de cinza", aux);
float g1[255] = { 0 };
float g2[255] = { 0 };
float limiarAntigo = limiar;
bool PDI::testeErodir(Mat imagemBase, vector<vector<int>> elementoEstruturante, int deslEsq, int deslDir, int deslCima, int deslBaixo, int x, int y) {
for (int i = x - deslCima, esX = 0; i <= x + deslBaixo; i++, esX++) {
for (int j = y - deslEsq, esY = 0; j <= y + deslDir; j++, esY++) {
if (i < 0 || j < 0 || i >= imagemBase.rows || j >= imagemBase.cols)
continue;
Vec3b pixel = imagemBase.at<Vec3b>(i, j);
if (pixel[0] == 0 && elementoEstruturante[esX][esY] == 1)
return true;
}
}
Mat PDI::Nitidez(Mat imagem, int tamanhoKernel, int somaKernel) {
Mat aux = imagem.clone();
Mat imagemBorda = imagem.clone();
Mat imagemSuavizada = suavizacaoMedia(imagem, PDI::kernel(tamanhoKernel), tamanhoKernel, somaKernel);
int corB, corG, corR;
for (int x = 0; x < imagem.rows; x++) {
for (int y = 0; y < imagem.cols; y++) {
Mat PDI::laplacian(Mat imagem) {
int tamanho = 3;
int **kernelt = new int*[tamanho];
kernelt[0] = new int[tamanho * tamanho];
for (int i = 1; i < tamanho; i++) {
kernelt[i] = kernelt[i - 1] + tamanho;
}
kernelt[0][0] = -1;