<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Leitor de Imagem com Lógica de Reação Avançada</title>
<style>
body {
background-color:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Leitor de Imagem com Lógica de Reação Avançada</title>
<style>
body {
background-color: #000;
color: #fff;
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
h1 {
color: #00ff00;
text-align: center;
}
input[type="file"] {
display: block;
margin: 20px auto;
padding: 10px;
background-color: #333;
color: #fff;
border: 1px solid #00ff00;
border-radius: 5px;
}
button {
display: block;
margin: 20px auto;
padding: 10px 20px;
background-color: #00ff00;
color: #000;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
button:disabled {
background-color: #555;
cursor: not-allowed;
}
pre {
background-color: #222;
padding: 20px;
border-radius: 5px;
white-space: pre-wrap;
word-wrap: break-word;
max-width: 800px;
margin: 20px auto;
}
.loader {
border: 4px solid #f3f3f3;
border-top: 4px solid #00ff00;
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
display: none;
margin: 0 auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.footer {
text-align: center;
margin-top: 40px;
color: #777;
}
</style>
</head>
<body>
<h1>Leitor de Imagem com Lógica de Reação Avançada</h1>
<input type="file" id="imageInput" accept="image/*">
<button id="generateReport" disabled>
<span id="buttonText">Gerar Relatório</span>
<div class="loader" id="loader"></div>
</button>
<canvas id="imageCanvas" style="display:none;"></canvas>
<pre id="output"></pre>
<div class="footer">
<p>Criado por Joaquim Pedro de Morais Filho</p>
<p>Este sistema analisa imagens utilizando lógica de reação avançada, detectando objetos e avaliando a qualidade da imagem.</p>
</div>
<!-- TensorFlow.js para análise avançada -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd"></script>
<script src="script.js"></script>
</body>
</html>
<script>document.getElementById('imageInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
const img = new Image();
img.onload = function() {
const canvas = document.getElementById('imageCanvas');
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
// Habilitar o botão de gerar relatório
document.getElementById('generateReport').disabled = false;
};
img.src = e.target.result;
};
reader.readAsDataURL(file);
}
});
document.getElementById('generateReport').addEventListener('click', function() {
const canvas = document.getElementById('imageCanvas');
const img = new Image();
img.src = canvas.toDataURL();
img.onload = function() {
analyzeImageWithTensorFlow(img).then(logicOutput => {
document.getElementById('output').textContent = logicOutput;
});
};
});
async function analyzeImageWithTensorFlow(img) {
// Carregar o modelo COCO-SSD para detecção de objetos
const model = await cocoSsd.load();
const predictions = await model.detect(img);
let logic = "∑(1¡,ac, --1,1,<,ac,1¡,1)\n";
logic += "Padrão de Lógica de Reação aplicado à imagem.\n";
// Pensamento: Observação da imagem
logic += "Pensamento: Observação da imagem e detecção de objetos.\n";
// Acontecimento: Detecção de objetos
if (predictions.length > 0) {
logic += "Acontecimento: Objetos detectados na imagem:\n";
predictions.forEach(pred => {
logic += `- ${pred.class} (${Math.round(pred.score * 100)}% de confiança)\n`;
});
} else {
logic += "Acontecimento: Nenhum objeto detectado na imagem.\n";
}
// Execução: Análise de qualidade e contexto
const imageQuality = assessImageQuality(img);
logic += `Execução: Análise de qualidade da imagem - ${imageQuality}.\n`;
// Inverso: Reversão do processo
logic += "Inverso: Reversão do processo de análise.\n";
// Execução final: Avaliação geral
logic += "Execução final: Avaliação da imagem com base na lógica de reação.\n";
// Avaliação se a imagem é "boa" ou "não"
const isGoodImage = predictions.length > 0 && imageQuality === "Boa";
logic += `Conclusão: A imagem é considerada ${isGoodImage ? "boa" : "não boa"}.\n`;
return logic;
}
function assessImageQuality(img) {
// Simulação de análise de qualidade (pode ser aprimorada)
const brightness = calculateBrightness(img);
if (brightness > 150) {
return "Brilho excessivo";
} else if (brightness < 50) {
return "Escura";
} else {
return "Boa";
}
}
function calculateBrightness(img) {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const pixels = imageData.data;
let brightnessSum = 0;
for (let i = 0; i < pixels.length; i += 4) {
const r = pixels[i];
const g = pixels[i + 1];
const b = pixels[i + 2];
brightnessSum += (r + g + b) / 3;
}
return brightnessSum / (pixels.length / 4);
}</script>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Leitor de Imagem com Lógica de Reação Avançada</title>
<style>
body {
background-color: #000;
color: #fff;
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
h1 {
color: #00ff00;
text-align: center;
}
input[type="file"] {
display: block;
margin: 20px auto;
padding: 10px;
background-color: #333;
color: #fff;
border: 1px solid #00ff00;
border-radius: 5px;
}
button {
display: block;
margin: 20px auto;
padding: 10px 20px;
background-color: #00ff00;
color: #000;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
button:disabled {
background-color: #555;
cursor: not-allowed;
}
pre {
background-color: #222;
padding: 20px;
border-radius: 5px;
white-space: pre-wrap;
word-wrap: break-word;
max-width: 800px;
margin: 20px auto;
}
.loader {
border: 4px solid #f3f3f3;
border-top: 4px solid #00ff00;
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
display: none;
margin: 0 auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.footer {
text-align: center;
margin-top: 40px;
color: #777;
}
</style>
</head>
<body>
<h1>Leitor de Imagem com Lógica de Reação Avançada</h1>
<input type="file" id="imageInput" accept="image/*">
<button id="generateReport" disabled>
<span id="buttonText">Gerar Relatório</span>
<div class="loader" id="loader"></div>
</button>
<canvas id="imageCanvas" style="display:none;"></canvas>
<pre id="output"></pre>
<div class="footer">
<p>Criado por Joaquim Pedro de Morais Filho</p>
<p>Este sistema analisa imagens utilizando lógica de reação avançada, detectando objetos e avaliando a qualidade da imagem.</p>
</div>
<!-- TensorFlow.js para análise avançada -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd"></script>
<script src="script.js"></script>
</body>
</html>
<script>document.getElementById('imageInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
const img = new Image();
img.onload = function() {
const canvas = document.getElementById('imageCanvas');
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
// Habilitar o botão de gerar relatório
document.getElementById('generateReport').disabled = false;
};
img.src = e.target.result;
};
reader.readAsDataURL(file);
}
});
document.getElementById('generateReport').addEventListener('click', function() {
const canvas = document.getElementById('imageCanvas');
const img = new Image();
img.src = canvas.toDataURL();
img.onload = function() {
analyzeImageWithTensorFlow(img).then(logicOutput => {
document.getElementById('output').textContent = logicOutput;
});
};
});
async function analyzeImageWithTensorFlow(img) {
// Carregar o modelo COCO-SSD para detecção de objetos
const model = await cocoSsd.load();
const predictions = await model.detect(img);
let logic = "∑(1¡,ac, --1,1,<,ac,1¡,1)\n";
logic += "Padrão de Lógica de Reação aplicado à imagem.\n";
// Pensamento: Observação da imagem
logic += "Pensamento: Observação da imagem e detecção de objetos.\n";
// Acontecimento: Detecção de objetos
if (predictions.length > 0) {
logic += "Acontecimento: Objetos detectados na imagem:\n";
predictions.forEach(pred => {
logic += `- ${pred.class} (${Math.round(pred.score * 100)}% de confiança)\n`;
});
} else {
logic += "Acontecimento: Nenhum objeto detectado na imagem.\n";
}
// Execução: Análise de qualidade e contexto
const imageQuality = assessImageQuality(img);
logic += `Execução: Análise de qualidade da imagem - ${imageQuality}.\n`;
// Inverso: Reversão do processo
logic += "Inverso: Reversão do processo de análise.\n";
// Execução final: Avaliação geral
logic += "Execução final: Avaliação da imagem com base na lógica de reação.\n";
// Avaliação se a imagem é "boa" ou "não"
const isGoodImage = predictions.length > 0 && imageQuality === "Boa";
logic += `Conclusão: A imagem é considerada ${isGoodImage ? "boa" : "não boa"}.\n`;
return logic;
}
function assessImageQuality(img) {
// Simulação de análise de qualidade (pode ser aprimorada)
const brightness = calculateBrightness(img);
if (brightness > 150) {
return "Brilho excessivo";
} else if (brightness < 50) {
return "Escura";
} else {
return "Boa";
}
}
function calculateBrightness(img) {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const pixels = imageData.data;
let brightnessSum = 0;
for (let i = 0; i < pixels.length; i += 4) {
const r = pixels[i];
const g = pixels[i + 1];
const b = pixels[i + 2];
brightnessSum += (r + g + b) / 3;
}
return brightnessSum / (pixels.length / 4);
}</script>
Nenhum comentário:
Postar um comentário