Вимірювання рівня звуку в приміщенні проводились за допомогою шумоміру ИШМ-3. В результаті вимірів рівень звуку склав L = 50 дБА. Отримане значення не перевищує допустимі норми ГсанПиН 3.3.2 007 – 98 [12], 60дБА.
Таблиця 4.2 Параметри санітарно-гігієнічних умов праці в приміщенні
Параметр | Значення параметру | Нормативнийдокумент | |
Фактичне | Нормоване | ||
Освітленністьштучна, лк | 128,82 | 200 | СНИП II-4-79 [18] |
КПО, % | 0,75 | 1,08 | СНИП II-4-79 [18] |
Температура повітряв приміщенні, °С:взимкувлітку | 19-2225-27 | 21-2522-28 | ГОСТ 12.1.005-88 [13] |
Відносна вологість, % | 45 | 40-60 | ГОСТ12.1.005-88 [13] |
Швидкість руху повітря, м/с | 0,15 | 0,1-0,3 | ГОСТ12.1.005-88 [13] |
Шум, дБА | 50 | не більше 60 | ГсанПиН 3.3.2 007 – 98 [12] |
Як об’єкт дослідження було взято приміщення, у якому проходила переддипломна практика у теплу пору року.
Виявлено, що на кожного працівника доводиться 6 м2, що відповідає нормам СНиП 2.09.04-87 [14].
Природного освітлення не вистачає, тому необхідно передбачити систему комбінованого освітлення та використовувати систему вимикачів, котра дозволить регулювати інтенсивність штучного освітлення в залежності від інтенсивності природного, а також дозволить освічувати тільки необхідні для роботи зони приміщення. Штучного освітлення також не вистачає, оскільки його значення Еф=128,82 лк не перевищує норму, яка згідно з СНиП ІІ-4-79 [30] становить 200 лк при використанні зазначених ламп, отже необхідно використовувати лампи більшої потужності або додати до вже існуючої системи ламп такої ж потужності. Тобто для нашого приміщення необхідно додати ще 3 лампи такої ж потужності, як видно з наступних розрахунків:
Виявлено, що на кожного працівника доводиться 19,2 м3 повітря, чого достатньо відповідно до норм СНиП 2.09.04-87 [14]. Для нормальної роботи в приміщенні забезпечується постійний повітрообмін за допомогою вентиляції, рівний в теплий період раку 325,71 м3/ч, що є достатнім, а от в холодний період набагато перевищує норму. Тому для холодного періоду року необхідно заклеювати вікна, та інколи провітрювати приміщення, щоб уникати захворювання робітників.
В приміщенні не дотримується температурний режим взимку – температура знаходиться на межі допустимих значення. Тому взимку необхідно утеплювати вікна.
Здійснення такого роду заходів з покращення умов праці в приміщенні дозволить створити сприятливі умови праці для робітників, зокрема мікроклімату, що в свою чергу буде сприяти підвищенню активності робітників та їх продуктивність праці
1. Розроблено алгоритм навчання системи в рамках ІЕІТ – технології, що дозволило програмно реалізувати процес навчання системи розпізнавання символів.
2. Сформовано навчальні матриці для зображень в полярних і декартових координатах. При формуванні навчальної матриці в полярних координатах розв’язана задача центрування зображення, що підвищило значення КФЕ.
3. Оптимізація контрольних допусків на ознаки розпізнавання при обробленні літер в полярних координатах забезпечує в порівнянні з обробленням в декартових координатах підвищення асимптотичної достовірності розпізнавання та їх інваріантність до зсуву, повороту та зміні масштабу;
4. Розроблено та програмно реалізовано алгоритм навчання системи розпізнавання рукописних символів за ІЕІТ з оптимізацією СКД на ознаки розпізнавання, що якісно збільшило значення КФЕ, а це підвищило достовірність прийняття рішення на етапі екзамену;
5. Програмно реалізовано алгоритм екзамену, що дає можливість з певною достовірністю розпізнавати рукописні символи;
unit UnitMy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, TeEngine, Series, TeeProcs, Chart, Grids,
ComCtrls;
type
TForm0 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel1: TPanel;
GroupBox1: TGroupBox;
PaintBox1: TPaintBox;
Button2: TButton;
Button3: TButton;
Panel2: TPanel;
Panel3: TPanel;
Image1: TImage;
Button5: TButton;
Button1: TButton;
Panel4: TPanel;
Chart1: TChart;
Series1: TBarSeries;
Button10: TButton;
Chart2: TChart;
Series2: TFastLineSeries;
Button6: TButton;
Panel5: TPanel;
Label1: TLabel;
Label2: TLabel;
Panel7: TPanel;
Edit3: TEdit;
Button7: TButton;
Button8: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Panel6: TPanel;
Button4: TButton;
Button9: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PaintBox1Paint(Sender: TObject);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const N=50;
const Pol=25;
const R=120;
const K=3;
const St=40;
var
Form0: TForm0;
down:boolean;
nachpic,pic:Tbitmap;
sch,kkproba,count:integer;
polmas:array[1..R,1..Pol] of integer;
polmassred:array[1..K,1..Pol] of real;
picmas:array [1..R,1..N,1..N] of integer;
evbin:array[1..R,1..2*N] of integer;
gilsred:array[1..K,1..2*N] of integer;
sred_s:array[1..K,1..N,1..N] of integer;
f1,f2,f3,temp,vrf:text;
center_x, center_y:array[0..1] of integer;
implementation
uses Unit1, Unit2;
{$R *.dfm}
procedure TForm0.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
down:=true;
nachpic.Canvas.MoveTo(X,Y);
paintbox1paint(nil);
end;
procedure TForm0.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
down:=false;
end;
procedure TForm0.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Draw(0,0,nachpic);
end;
procedure TForm0.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if down then
begin
nachpic.Canvas.LineTo(X,Y);
paintbox1paint(nil);
end;
end;
procedure TForm0.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm0.Button2Click(Sender: TObject);
var i,j,vspi,vspj:integer;
begin
vspi:=nachpic.Width;
vspj:=nachpic.Height;
for i:=1 to vspi do
for j:=1 to vspj do
nachpic.Canvas.Pixels[i,j]:=clWhite;
paintbox1paint(nil);
end;
procedure TForm0.Button3Click(Sender: TObject);
var i,j:integer;
color:boolean;
begin
color:=false;
pic:=Tbitmap.Create;
pic.Width:=N;
pic.Height:=N;
for i:=1 to N do
for j:=1 to N do
begin
if nachpic.Canvas.Pixels[i,j] <> clWhite then color:=true;
end;
if color then
begin
for i:=1 to N do
for j:=1 to N do
begin
pic.Canvas.Pixels[i,j]:=nachpic.Canvas.Pixels[i,j];
end;
sch:=sch+1;
pic.SaveToFile('image\'+inttostr(sch)+'.bmp');
end;
end;
procedure TForm0.FormCreate(Sender: TObject);
begin
nachpic:=Tbitmap.Create;
nachpic.Width:=PaintBox1.Width;
nachpic.Height:=PaintBox1.Height;
nachpic.Canvas.Pen.Color:=clBlack;
nachpic.Canvas.Pen.Width:=5;
down:=false;
sch:=0;
end;
procedure TForm0.Button5Click(Sender: TObject);
var ii,i,j,kk:integer;
begin
for kk:=1 to R do
begin
for ii:=1 to 2*N do evbin[kk,ii]:=0;
for i:=1 to N do
begin
for j:=1 to N do
begin
if i>1 then
begin
if (round((256-picmas[kk,i-1,j])-(256-picmas[kk,i,j])) > 0) then
begin
evbin[kk,j]:=evbin[kk,j]+(round((256-picmas[kk,i-1,j])-(256-picmas[kk,i,j])));
evbin[kk,50+j]:=evbin[kk,50+j]+0;
end
else if (round((256-picmas[kk,i-1,j])-(256-picmas[kk,i,j])) < 0) then
begin
evbin[kk,50+j]:=evbin[kk,50+j]+(round((256-picmas[kk,i-1,j])-(256-picmas[kk,i,j])));
evbin[kk,j]:=evbin[kk,j]+0;
end
else if (round((256-picmas[kk,i-1,j])-(256-picmas[kk,i,j])) = 0) then
begin
evbin[kk,j]:=evbin[kk,j]+0;
evbin[kk,50+j]:=evbin[kk,j+50]+0;
end;
end;
end;
end;
end;
for j:=1 to 2*N do
begin
gilsred[1,j]:=0;
gilsred[2,j]:=0;
gilsred[3,j]:=0;
end;
for kk:=1 to St do
for j:=1 to 2*N do
begin
gilsred[1,j]:=gilsred[1,j]+evbin[kk,j];
gilsred[2,j]:=gilsred[2,j]+evbin[40+kk,j];
gilsred[3,j]:=gilsred[3,j]+evbin[80+kk,j];
end;
for j:=1 to 2*N do
begin
gilsred[1,j]:=round(gilsred[1,j]/St);
gilsred[2,j]:=round(gilsred[2,j]/St);
gilsred[3,j]:=round(gilsred[3,j]/St);
end;
end;
{-----------Center search ...--------------------}
procedure search_center();
var i,j:byte;
vspS:integer;
begin
for i:=1 to N-1 do
begin
vspS:=0;
for j:=1 to N-1 do vspS:=vspS+(256-picmas[kkproba,i,j]);
if vspS > 0 then
begin
center_x[0]:=i;
break;
end;
end;
for i:=N-1 downto 1 do
begin
vspS:=0;
for j:=1 to N-1 do vspS:=vspS+(256-picmas[kkproba,i,j]);
if vspS > 0 then
begin
center_x[1]:=i;
break;
end;
end;
for j:=1 to N-1 do
begin
vspS:=0;
for i:=1 to N-1 do vspS:=vspS+(256-picmas[kkproba,i,j]);
if vspS > 0 then
begin
center_y[0]:=j;
break;
end;
end;
for j:=N-1 downto 1 do
begin
vspS:=0;
for i:=1 to N-1 do vspS:=vspS+(256-picmas[kkproba,i,j]);
if vspS > 0 then
begin
center_y[1]:=j;
break;
end;
end;
end;
{------------------------------------------------}
procedure TForm0.Button10Click(Sender: TObject);
var vspSum:integer;
i, j,kk,radius,radto:integer;
snosX,snosY,count0:integer;
vspmas:array[1..Pol] of integer;
begin
count:=0;
label3.Caption:='?';
Edit3.Text:=inttostr(count);
{----------------------------------------}
for kkproba:=1 to R do
begin
radto:=0;
snosX:=0;
snosY:=0;
for i:=1 to Pol do
begin
polmas[kkproba,i]:=0;
vspmas[i]:=0;
end;
search_center();
radto:=round((sqrt((center_y[1]-center_y[0])*(center_y[1]-center_y[0])+
(center_x[1]-center_x[0])*(center_x[1]-center_x[0])))/2);
snosX:=center_y[0]+round((abs(center_y[1]-center_y[0]))/2);
snosY:=center_x[0]+round((abs(center_x[1]-center_x[0]))/2);
for radius:=1 to Pol do
begin
vspSum:=0;
for i:=1 to N-1 do
for j:=1 to N-1 do
begin
if((i-snosX)*(i-snosX)+(j-snosY)*(j-snosY) <= (radius*radius))
then vspSum:=vspSum+(256-picmas[kkproba,i,j]);
end;
polmas[kkproba,radius]:=round(vspSum/(Pi*radius*radius));
end;
{
count0:=0;
for i:=Pol downto 1 do
if polmas[kkproba,i] = 0 then count0:=count0+1 else break;
if count0 > 1 then
begin
for i:=1 to round(count0/2) do vspmas[i]:=0;
for i:=1 to Pol-count0 do vspmas[i+round(count0/2)]:=polmas[kkproba,i];
for i:=1 to Pol do polmas[kkproba,i]:=vspmas[i];
end;}
end;
Assignfile(temp,'temp.txt');
rewrite(temp);
for j:=1 to R do
begin
for i:=1 to Pol do
begin
write(temp,' ',polmas[j,i]);
end;
writeln(temp);
writeln(temp);
writeln(temp);
end;
closefile(temp);
{----------------------------------------}
for i:=1 to Pol do
begin
polmassred[1,i]:=0;
polmassred[2,i]:=0;
polmassred[3,i]:=0;
end;
for kk:=1 to 40 do
for i:=1 to Pol do
begin
polmassred[1,i]:=polmassred[1,i]+polmas[kk,i];
end;
for kk:=41 to 80 do
for i:=1 to Pol do
begin
polmassred[2,i]:=polmassred[2,i]+polmas[kk,i];
end;
for kk:=81 to 120 do
for i:=1 to Pol do
begin
polmassred[3,i]:=polmassred[3,i]+polmas[kk,i];
end;
for i:=1 to Pol do
begin
polmassred[1,i]:=polmassred[1,i]/St;
polmassred[2,i]:=polmassred[2,i]/St;